Function at 0x40bab0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x10c
mov eax, dword [esp + 0x128]
mov esi, dword [esp + 0x12c]
test eax, eax
mov eax, 1
cmovne eax, dword [esp + 0x128]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x120]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x40baf4
mov dword [esp], eax
call fcn.00431618
mov dword [esi], eax
mov eax, dword [esp + 0x120]
mov eax, dword [eax + 0x14]
test eax, eax
mov dword [esp + 0x14], eax
je 0x40bb72
nop
lea esi, [esi]
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
cmp eax, 0x15
ja case.0x40bb1f.0
jmp dword [eax*4 + 0x4382a4]
mov ebx, str.group_compatibility_map
mov dword [esp], 0x438204
call fcn.0041ac30
mov dword [esp + 4], ebx
mov dword [esp], str.Ignoring__s_definition._n
call fcn.0041ab00
mov eax, dword [esi + 0x10]
add eax, 1
mov dword [esi + 0x10], eax
mov edi, dword [esp + 0x14]
cmp eax, 0xa
mov edi, dword [edi + 4]
mov dword [esp + 0x14], edi
jg 0x40bbe0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x40bb10
add esp, 0x10c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, str.symbol_interpretation
jmp 0x40bb35
mov ebx, str.key_name
jmp 0x40bb35
lea eax, [esi + 0xe4]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x128]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call fcn.004040e0
test eax, eax
mov eax, dword [esi + 0x10]
je 0x40bb54
mov edi, dword [esp + 0x14]
cmp eax, 0xa
mov edi, dword [edi + 4]
mov dword [esp + 0x14], edi
jle 0x40bb6a
nop
mov eax, dword [esp + 0x120]
mov eax, dword [eax + 0xc]
mov dword [esp], str.Abandoning_geometry_file___s__n
mov dword [esp + 4], eax
call fcn.0041ab00
add esp, 0x10c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, str.virtual_modfier
jmp 0x40bb35
lea eax, [esp + 0x8c]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x2c]
mov dword [esp + 8], eax
lea eax, [esp + 0x28]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call fcn.00406380
test eax, eax
je 0x40bb51
mov eax, dword [esp + 0x28]
mov ebx, dword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
je 0x40d080
mov dword [esp + 4], 0x43728a
mov dword [esp], eax
mov ebx, dword [sym.imp.msvcrt.dll__stricmp]
call ebx
test eax, eax
je 0x40ce93
mov eax, dword [esp + 0x28]
test eax, eax
je 0x40d080
mov dword [esp + 4], 0x437286
mov dword [esp], eax
call ebx
test eax, eax
je 0x40ceb8
mov eax, dword [esp + 0x28]
test eax, eax
je 0x40d080
mov dword [esp + 4], 0x437b1f
mov dword [esp], eax
call ebx
test eax, eax
je 0x40cf00
mov eax, dword [esp + 0x28]
test eax, eax
je 0x40d080
mov dword [esp + 4], 0x437a0e
mov dword [esp], eax
call ebx
test eax, eax
je 0x40d050
mov eax, dword [esp + 0x28]
test eax, eax
je 0x40d080
mov dword [esp + 4], str.property
mov dword [esp], eax
call ebx
test eax, eax
je 0x40cd35
mov eax, dword [esp + 0x28]
test eax, eax
je 0x40d080
xor edx, edx
mov ecx, esi
call fcn.00408ab0
test eax, eax
je 0x40cf33
mov edi, dword [esp + 0x14]
mov dword [esp + 4], esi
mov ecx, dword [esp + 0x8c]
mov edx, dword [edi + 0x10]
mov dword [esp], edx
mov edx, dword [esp + 0x2c]
call fcn.00409f60
jmp 0x40c36f
mov edx, dword [esp + 0x124]
mov eax, dword [esp + 0x14]
mov ecx, esi
call fcn.0040d810
test eax, eax
mov eax, dword [esi + 0x10]
je 0x40bb54
jmp 0x40bb5a
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x8c]
mov edx, esi
mov ebx, dword [edi + 8]
test ebx, ebx
cmove ebx, dword [esp + 0x128]
call fcn.00408580
mov byte [esp + 0x8f], bl
mov eax, dword [edi + 0xc]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00422310
test eax, eax
je 0x40bd9b
cmp byte [eax], 0
jne 0x40c088
mov dword [esp], str.Section_defined_without_a_name_n
call fcn.0041ac30
mov dword [esp], 0x437d52
call fcn.0041ab00
jmp 0x40bb51
mov ebx, dword [esp + 0x14]
lea edi, [esp + 0x8c]
mov ecx, 9
mov edx, dword [ebx + 8]
test edx, edx
cmove edx, dword [esp + 0x128]
xor eax, eax
rep stosd dword es:[edi], eax
mov byte [esp + 0x8f], dl
mov eax, dword [ebx + 0xc]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00422310
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.00422360
mov edx, dword [esi + 0x68]
mov dword [esp + 0x94], eax
mov dword [esp + 0xac], edx
mov edx, dword [ebx + 0x10]
test edx, edx
jle 0x40c050
mov dword [esp + 4], 0xc
mov dword [esp], edx
mov word [esp + 0x9a], dx
call fcn.0041a690
test eax, eax
mov dword [esp + 0xa0], eax
je 0x40cdb0
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov edi, dword [eax + 0x14]
test edi, edi
je 0x40bf00
mov dword [esp + 0x12c], esi
lea esi, [esi]
mov eax, dword [edi + 0xc]
test eax, eax
jle 0x40c010
mov edx, dword [esp + 0xa0]
lea ecx, [ebx + ebx*2]
lea ebp, [ebx + 1]
lea esi, [edx + ecx*4]
mov word [esi], ax
mov eax, dword [esp + 0xac]
mov word [esi + 4], ax
mov dword [esp + 4], 4
mov eax, dword [edi + 0xc]
mov dword [esp], eax
call fcn.0041a690
test eax, eax
mov dword [esi + 8], eax
je 0x40cdf5
mov edx, dword [edi + 0x10]
test edx, edx
je 0x40bee1
xor ebx, ebx
jmp 0x40bec5
mov eax, dword [esi + 8]
mov ecx, dword [edx + 0x10]
mov word [eax + ebx], cx
mov ecx, dword [edx + 0x14]
mov eax, dword [esi + 8]
mov word [eax + ebx + 2], cx
mov edx, dword [edx + 4]
add ebx, 4
test edx, edx
jne 0x40bec2
mov eax, dword [edi + 8]
test eax, eax
jne 0x40bf80
mov ebx, ebp
mov edi, dword [edi + 4]
test edi, edi
jne 0x40be70
mov esi, dword [esp + 0x12c]
movzx eax, word [esp + 0x9a]
cmp ebx, eax
je 0x40bf28
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], str.Expected__d_outlines__got__d_n
call fcn.0041adb0
mov word [esp + 0x9a], bx
lea edx, [esp + 0x8c]
mov eax, esi
call fcn.0040aba0
test eax, eax
jne 0x40bf70
jmp 0x40bb51
mov eax, dword [esp + 0x14]
xor edx, edx
mov ecx, esi
call fcn.0040b8a0
test eax, eax
mov eax, dword [esi + 0x10]
je 0x40bb54
jmp 0x40bb5a
mov dword [esp + 4], eax
mov dword [esp], str.Unexpected_statement_type__d_in_HandleGeometryFile_n
call fcn.0041adb0
mov eax, dword [esi + 0x10]
jmp 0x40bb5a
mov dword [esp + 8], 3
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.004295c0
mov dword [esp + 4], str.approximation
mov ebx, eax
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
jne 0x40cb79
mov ebx, dword [esp + 0xa4]
test ebx, ebx
je 0x40ce27
mov eax, dword [esp + 0x94]
mov dword [esp + 8], 3
mov ebx, ebp
mov dword [esp + 4], eax
mov eax, dword [esp + 0x12c]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.004295c0
mov dword [esp], str.Multiple_approximations_for___s__n
mov dword [esp + 4], eax
call fcn.0041ab80
mov dword [esp], str.Treating_all_but_the_first_as_normal_outlines_n
call fcn.0041ab00
jmp 0x40beee
mov eax, dword [edi + 8]
mov ebp, dword [edi + 0x10]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00422310
mov esi, dword [esp + 0x12c]
mov edx, eax
lea eax, [esp + 0x8c]
mov dword [esp], ebp
xor ecx, ecx
mov dword [esp + 4], esi
call fcn.00408120
jmp 0x40beee
mov dword [esp + 8], 3
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.004295c0
mov dword [esp], str.Shape___s__has_no_outlines_n
mov dword [esp + 4], eax
call fcn.0041ab80
mov dword [esp], 0x437d52
call fcn.0041ab00
jmp 0x40bf28
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0xc]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00422310
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.00422360
mov dword [esp + 0x94], eax
mov edi, dword [edi + 0x14]
test edi, edi
je 0x40c30c
nop
lea esi, [esi]
mov eax, dword [edi]
cmp eax, 5
je 0x40c4c5
cmp eax, 0x11
je 0x40c553
cmp eax, 0xc
je 0x40c400
cmp eax, 0x15
je 0x40c400
cmp eax, 0x14
jne 0x40ceeb
mov eax, dword [edi + 0x10]
test eax, eax
jle 0x40c380
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov eax, dword [edi + 0xc]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00422310
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.00422360
mov dword [esp + 0x54], eax
mov ebx, dword [edi + 0x14]
mov dword [esp + 0x18], eax
test ebx, ebx
jne 0x40c1db
jmp 0x40c270
lea eax, [ebx + 8]
mov dword [esp + 8], 4
mov dword [esp + 4], eax
lea eax, [ebp + 0xc]
mov dword [esp], eax
call sub.msvcrt.dll_strncpy
lea eax, [ebx + 0xd]
mov dword [esp + 8], 4
mov dword [esp + 4], eax
lea eax, [ebp + 0x11]
mov dword [esp], eax
call sub.msvcrt.dll_strncpy
mov eax, 0xffffffff
mov word [ebp + 8], ax
mov eax, 0xffffffff
mov word [ebp + 0xa], ax
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.00414c40
add word [esp + 0x5a], 1
mov dword [esp + 0x5c], eax
mov ebx, dword [ebx + 4]
test ebx, ebx
je 0x40c270
mov dword [esp + 4], 0x18
mov dword [esp], 1
call fcn.0041a690
test eax, eax
mov ebp, eax
jne 0x40c170
mov eax, dword [0x434ec8]
test eax, eax
je 0x40c170
mov dword [esp], str.Couldnt_allocate_OverlayKeyInfo_n
call fcn.0041adb0
mov eax, dword [esp + 0x94]
mov dword [esp + 8], 3
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.004295c0
mov ebx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 8], 3
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.004295c0
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], str.Overlay__s_for_section__s_will_be_incomplete_n
call fcn.0041ab00
jmp 0x40bb51
mov ebx, dword [esp + 0xf8]
test ebx, ebx
je 0x40c2a0
mov eax, dword [esp + 0x18]
cmp eax, dword [ebx + 8]
je 0x40c430
mov eax, dword [esp + 0x18]
jmp 0x40c299
cmp eax, dword [ebx + 8]
je 0x40c430
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x40c290
mov dword [esp + 4], 0x14
mov dword [esp], 1
call fcn.0041a690
test eax, eax
je 0x40d188
mov edx, dword [esp + 0x4c]
mov dword [eax], edx
mov edx, dword [esp + 0x50]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x54]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x58]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x5c]
mov dword [eax + 0x10], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
call fcn.00414c40
add word [esp + 0xa6], 1
mov dword [esp + 0xf8], eax
mov edi, dword [edi + 4]
test edi, edi
jne 0x40c0d0
mov eax, dword [esp + 0x14]
movzx edx, word [esp + 0xa2]
mov eax, dword [eax + 0x10]
cmp edx, eax
je 0x40c361
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], str.Expected__d_rows__found__d_n
call fcn.0041adb0
mov eax, dword [esp + 0x94]
mov dword [esp + 8], 3
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.004295c0
mov dword [esp], str.Definition_of_section__s_might_be_incorrect_n
mov dword [esp + 4], eax
call fcn.0041ab00
lea edx, [esp + 0x8c]
mov eax, esi
call fcn.00408010
test eax, eax
jne 0x40bf70
jmp 0x40bb51
cmp dword [0x434ec8], 3
jbe 0x40c10a
mov eax, dword [esp + 0x94]
mov dword [esp + 8], 3
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.004295c0
mov dword [esp + 8], 3
mov ebx, eax
mov eax, dword [edi + 0xc]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.004295c0
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], str.Overlay___s__in_section___s__has_no_keys_n
call fcn.0041ab80
mov dword [esp], str.Overlay_ignored_n
call fcn.0041ab00
mov edi, dword [edi + 4]
test edi, edi
jne 0x40c0d0
jmp 0x40c30c
lea edx, [esp + 0x8c]
mov ecx, esi
mov eax, edi
call fcn.0040b8a0
test eax, eax
je 0x40bb51
mov edi, dword [edi + 4]
test edi, edi
jne 0x40c0d0
jmp 0x40c30c
cmp byte [ebx + 2], 0
je 0x40c9a0
cmp dword [0x434ec8], 9
jbe 0x40c9ae
mov eax, dword [esp + 0x94]
mov dword [esp + 8], 3
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.004295c0
mov dword [esp + 8], 3
mov ebp, eax
mov eax, dword [ebx + 8]
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.004295c0
mov dword [esp + 8], ebp
mov dword [esp + 4], eax
mov dword [esp], str.Multiple_doodads_named___s__in_section___s__n
call fcn.0041ab80
mov dword [esp], str.Using_first_definition_n
call fcn.0041ab00
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x40c301
mov dword [esp], eax
call fcn.00414c10
mov edi, dword [edi + 4]
test edi, edi
jne 0x40c0d0
jmp 0x40c30c
lea eax, [esp + 0x4c]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x2c]
mov dword [esp + 8], eax
lea eax, [esp + 0x28]
mov dword [esp + 4], eax
mov eax, dword [edi + 0xc]
mov dword [esp], eax
call fcn.00406380
test eax, eax
je 0x40bb51
mov eax, dword [esp + 0x28]
test eax, eax
je 0x40c513
mov dword [esp + 4], 0x437a0e
mov dword [esp], eax
mov ebx, dword [sym.imp.msvcrt.dll__stricmp]
call ebx
test eax, eax
jne 0x40cc50
lea eax, [esi + 0x10]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x2c]
mov dword [esp + 8], eax
lea eax, [esi + 4]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
mov dword [esp], eax
lea eax, [esp + 0x8c]
call fcn.00409250
test eax, eax
je 0x40bb51
mov edi, dword [edi + 4]
test edi, edi
jne 0x40c0d0
jmp 0x40c30c
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x88], eax
and word [esp + 0x4c], 0xfffe
mov edx, dword [edi + 8]
test edx, edx
jle 0x40ccc0
mov ebx, dword [edi + 0xc]
test ebx, ebx
je 0x40c80a
lea eax, [esi + 8]
mov dword [esp + 0x1c], edi
mov ebp, eax
jmp 0x40c775
cmp eax, 0x10
jne 0x40ce35
lea eax, [esi + 0xc]
lea edx, [esp + 0x4c]
mov ecx, ebp
mov dword [esp], eax
lea eax, [esp + 0x2c]
call fcn.004084d0
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x40c9c0
mov dword [esp], eax
call sub.msvcrt.dll_strlen
sub eax, 1
cmp eax, 3
ja 0x40ce4a
mov dword [esp + 0x34], 0
mov byte [esp + 0x38], 0
lea eax, [esp + 0x34]
mov dword [esp + 8], 4
mov edx, dword [ebx + 0xc]
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.msvcrt.dll_strncpy
or word [esp + 0x2c], 2
mov dword [esp], 0x20
call fcn.0041a680
test eax, eax
je 0x40bb51
mov edx, dword [esp + 0x68]
mov dword [eax], edx
mov edx, dword [esp + 0x6c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x70]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x74]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x7c]
mov dword [eax + 0x14], edx
mov edx, dword [esp + 0x80]
mov dword [eax + 0x18], edx
mov edx, dword [esp + 0x84]
and word [eax], 0xfffe
mov dword [eax + 4], 0
mov dword [eax + 0x1c], edx
movzx edx, word [esp + 0x60]
lea ecx, [edx + 1]
mov word [esp + 0x60], cx
mov word [eax + 0x12], dx
mov edx, dword [esp + 0x2c]
mov dword [eax], edx
mov edx, dword [esp + 0x30]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x34]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x38]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x40]
mov dword [eax + 0x14], edx
mov edx, dword [esp + 0x44]
mov dword [eax + 0x18], edx
mov edx, dword [esp + 0x48]
mov dword [eax + 4], 0
mov dword [eax + 0x1c], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.00414c40
mov dword [esp + 0x64], eax
mov ebx, dword [ebx + 4]
test ebx, ebx
je 0x40c806
mov eax, dword [ebx]
cmp eax, 5
jne 0x40c640
lea eax, [esp + 0x2c]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x28]
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0xc]
mov dword [esp], eax
call fcn.00406380
test eax, eax
je 0x40bb51
mov eax, dword [esp + 0x24]
test eax, eax
je 0x40c7ce
mov dword [esp + 4], 0x437b1f
mov dword [esp], eax
mov edi, dword [sym.imp.msvcrt.dll__stricmp]
call edi
test eax, eax
jne 0x40cc02
lea eax, [esi + 0x10]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov dword [esp + 8], eax
lea eax, [esi + 4]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x10]
mov dword [esp], eax
lea eax, [esp + 0x4c]
call fcn.00408fd0
test eax, eax
je 0x40bb51
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x40c775
mov edi, dword [esp + 0x1c]
mov dword [esp], 0x40
call fcn.0041a680
test eax, eax
mov ebx, eax
je 0x40bb51
mov eax, dword [esp + 0xb4]
mov dword [ebx], eax
mov eax, dword [esp + 0xb8]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0xc0]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0xc4]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0xc8]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0xcc]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0xd0]
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0xd4]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0xd8]
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0xdc]
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0xe0]
mov dword [ebx + 0x2c], eax
mov eax, dword [esp + 0xe4]
mov dword [ebx + 0x30], eax
mov eax, dword [esp + 0xe8]
mov dword [ebx + 0x34], eax
mov eax, dword [esp + 0xec]
mov dword [ebx + 0x38], eax
mov eax, dword [esp + 0xf0]
mov dword [ebx + 0x3c], eax
xor eax, eax
and word [ebx], 0xfffe
mov dword [ebx + 4], 0
mov word [ebx + 0x14], ax
mov dword [ebx + 0x18], 0
mov eax, dword [esp + 0xac]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00414c40
mov dword [esp + 0xac], eax
movzx eax, word [esp + 0xa2]
lea edx, [eax + 1]
mov word [esp + 0xa2], dx
mov word [ebx + 0xc], ax
mov eax, dword [esp + 0x4c]
mov dword [ebx], eax
mov eax, dword [esp + 0x50]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x54]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x58]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x5c]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x60]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x64]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x68]
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x70]
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x74]
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x78]
mov dword [ebx + 0x2c], eax
mov eax, dword [esp + 0x7c]
mov dword [ebx + 0x30], eax
mov eax, dword [esp + 0x80]
mov dword [ebx + 0x34], eax
mov eax, dword [esp + 0x84]
mov dword [ebx + 0x38], eax
mov eax, dword [esp + 0x88]
mov dword [ebx + 4], 0
mov dword [ebx + 0x3c], eax
mov edi, dword [edi + 4]
test edi, edi
jne 0x40c0d0
jmp 0x40c30c
mov ecx, dword [0x434ec8]
test ecx, ecx
jne 0x40c447
mov eax, dword [esp + 0x5c]
jmp 0x40c4a5
mov edi, dword [ebx + 0x10]
mov eax, dword [esp + 0x48]
test edi, edi
mov dword [esp + 0x18], eax
je 0x40c6ab
cmp dword [edi + 8], 0x18
je 0x40ca2e
mov eax, dword [edi + 0xc]
cmp eax, 4
je 0x40cae3
ja 0x40cab0
cmp eax, 2
jb 0x40cb11
lea eax, [esi + 0x10]
xor ecx, ecx
mov dword [esp], edi
mov edx, 0x437282
mov dword [esp + 8], eax
lea eax, [esi + 4]
mov dword [esp + 4], eax
lea eax, [esp + 0x2c]
call fcn.00408c50
test eax, eax
je 0x40bb51
mov edi, dword [edi + 4]
test edi, edi
je 0x40c6ab
cmp dword [edi + 8], 0x18
jne 0x40c9d9
lea eax, [esp + 0x28]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x24]
mov dword [esp + 8], eax
lea eax, [esp + 0x20]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
mov dword [esp], eax
call fcn.00406380
test eax, eax
je 0x40bb51
mov eax, dword [esp + 0x20]
test eax, eax
je 0x40ca7a
mov dword [esp + 4], 0x437286
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
jne 0x40d29d
lea eax, [esi + 0x10]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov dword [esp + 8], eax
lea eax, [esi + 4]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x14]
mov dword [esp], eax
lea eax, [esp + 0x2c]
call fcn.00408c50
test eax, eax
jne 0x40ca1d
jmp 0x40bb51
cmp eax, 6
jne 0x40cb11
lea eax, [esi + 0x10]
xor ecx, ecx
mov dword [esp], edi
mov edx, 0x4372a6
mov dword [esp + 8], eax
lea eax, [esi + 4]
mov dword [esp + 4], eax
lea eax, [esp + 0x2c]
call fcn.00408c50
test eax, eax
jne 0x40ca1d
jmp 0x40bb51
lea eax, [esi + 0x10]
xor ecx, ecx
mov dword [esp], edi
mov edx, 0x43728a
mov dword [esp + 8], eax
lea eax, [esi + 4]
mov dword [esp + 4], eax
lea eax, [esp + 0x2c]
call fcn.00408c50
test eax, eax
jne 0x40ca1d
jmp 0x40bb51
mov dword [esp], str.Cannot_determine_field_for_unnamed_expression_n
call fcn.0041ac30
mov edi, dword [esp + 0x18]
mov eax, 0x43710e
test edi, edi
je 0x40cb47
mov dword [esp + 8], 3
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.004295c0
mov edi, dword [esp + 0x18]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x3c]
movzx eax, word [eax + 0x16]
add eax, 1
mov dword [esp + 8], eax
movzx eax, word [edi + 0x14]
mov dword [esp], str.Ignoring_key__d_in_row__d_of_section__s_n
add eax, 1
mov dword [esp + 4], eax
call fcn.0041ab00
jmp 0x40bb51
mov dword [esp + 4], 0x437dbe
mov dword [esp], ebx
call dword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
je 0x40bfb3
mov dword [esp + 4], 0x437e1b
mov dword [esp], ebx
call dword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
jne 0x40d13e
mov ecx, dword [esp + 0xa8]
test ecx, ecx
je 0x40d103
mov eax, dword [esp + 0x94]
mov dword [esp + 8], 3
mov ebx, ebp
mov dword [esp + 4], eax
mov eax, dword [esp + 0x12c]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.004295c0
mov dword [esp], str.Multiple_primary_outlines_for___s__n
mov dword [esp + 4], eax
call fcn.0041ab80
mov dword [esp], str.Treating_all_but_the_first_as_normal_outlines_n
call fcn.0041ab00
jmp 0x40beee
mov eax, dword [esp + 0x24]
mov dword [esp + 4], 0x437286
mov dword [esp], eax
call edi
test eax, eax
jne 0x40cd08
lea eax, [esi + 0x10]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov dword [esp + 8], eax
lea eax, [esi + 4]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x10]
mov dword [esp], eax
lea eax, [esp + 0x68]
call fcn.00408c50
test eax, eax
jne 0x40c76a
jmp 0x40bb51
mov eax, dword [esp + 0x28]
mov dword [esp + 4], 0x437b1f
mov dword [esp], eax
call ebx
test eax, eax
je 0x40cd6d
mov eax, dword [esp + 0x28]
mov dword [esp + 4], 0x437286
mov dword [esp], eax
call ebx
test eax, eax
jne 0x40d011
lea eax, [esi + 0x10]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x2c]
mov dword [esp + 8], eax
lea eax, [esi + 4]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
mov dword [esp], eax
lea eax, [esp + 0xd0]
call fcn.00408c50
test eax, eax
jne 0x40c301
jmp 0x40bb51
cmp dword [0x434ec8], 3
jbe 0x40c61d
mov dword [esp + 8], 3
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.004295c0
mov dword [esp], str.Row_in_section__s_has_no_keys_n
mov dword [esp + 4], eax
call fcn.0041ac30
mov dword [esp], str.Section_ignored_n
call fcn.0041ab00
jmp 0x40c80a
mov dword [esp], str.Assignment_to_field_of_unknown_element_in_row_n
call fcn.0041ab80
mov eax, dword [esp + 0x28]
mov dword [esp], str.No_value_assigned_to__s._s_n
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
call fcn.0041ab00
jmp 0x40c76a
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x40d23e
add dword [esi + 0x10], 1
mov eax, dword [esp + 0x2c]
mov dword [esp], str.The__s_geometry_property_is_not_an_array_n
mov dword [esp + 4], eax
call fcn.0041ac30
mov dword [esp], str.Ignoring_illegal_property_definition_n
call fcn.0041ab00
jmp 0x40bb51
lea eax, [esi + 0x10]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x2c]
mov dword [esp + 8], eax
lea eax, [esi + 4]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
mov dword [esp], eax
lea eax, [esp + 0xb4]
call fcn.00408fd0
test eax, eax
je 0x40bb51
mov edi, dword [edi + 4]
test edi, edi
jne 0x40c0d0
jmp 0x40c30c
mov eax, dword [esp + 0x94]
mov dword [esp + 8], 3
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.004295c0
mov dword [esp], str.Couldnt_allocate_outlines_for___s__n
mov dword [esp + 4], eax
call fcn.0041ac30
mov dword [esp], 0x437d52
call fcn.0041ab00
mov eax, dword [esi + 0x10]
add eax, 1
jmp 0x40bb54
mov eax, dword [esp + 0x94]
mov esi, dword [esp + 0x12c]
mov dword [esp + 8], 3
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.004295c0
mov dword [esp], str.Cant_allocate_points_for___s__n
mov dword [esp + 4], eax
jmp 0x40cdd9
mov dword [esp + 0xa4], esi
mov ebx, ebp
jmp 0x40beee
mov dword [esp + 4], eax
mov dword [esp], str.Unexpected_statement__type__d__in_row_body_n
call fcn.0041adb0
jmp 0x40bb51
mov eax, dword [esp + 0x88]
mov dword [esp + 8], 3
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.004295c0
mov dword [esp + 8], eax
mov eax, dword [ebx + 0xc]
mov dword [esp], str.Illegal_name__s_for_key_in_section__s_n
mov dword [esp + 4], eax
call fcn.0041ac30
mov dword [esp], str.Section_not_compiled_n
call fcn.0041ab00
jmp 0x40bb51
mov eax, dword [esp + 0x14]
mov dword [esp + 4], esi
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
xor eax, eax
call fcn.00408120
jmp 0x40c36f
lea edx, [esi + 0x10]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x8c]
lea eax, [esi + 0xb0]
mov dword [esp + 8], edx
lea edx, [esi + 4]
mov dword [esp + 4], edx
mov edx, dword [edi + 0x10]
mov dword [esp], edx
mov edx, dword [esp + 0x2c]
call fcn.00408c50
jmp 0x40c36f
mov dword [esp + 4], eax
mov dword [esp], str.Unexpected_statement__type__d__in_section_body_n
call fcn.0041adb0
jmp 0x40bb51
lea edx, [esi + 0x10]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x8c]
lea eax, [esi + 0x94]
mov dword [esp + 8], edx
lea edx, [esi + 4]
mov dword [esp + 4], edx
mov edx, dword [edi + 0x10]
mov dword [esp], edx
mov edx, dword [esp + 0x2c]
call fcn.00408fd0
jmp 0x40c36f
mov eax, dword [esp + 0x28]
test eax, eax
je 0x40d080
mov dword [esp + 4], 0x437212
mov dword [esp], eax
call ebx
test eax, eax
je 0x40d0d0
mov eax, dword [esp + 0x28]
test eax, eax
je 0x40d080
mov dword [esp + 4], 0x43720a
mov dword [esp], eax
call ebx
test eax, eax
je 0x40d1f6
mov eax, dword [esp + 0x28]
test eax, eax
je 0x40d080
mov dword [esp + 4], 0x437218
mov dword [esp], eax
call ebx
test eax, eax
je 0x40d21a
mov eax, dword [esp + 0x28]
test eax, eax
je 0x40d080
mov dword [esp + 4], 0x43721d
mov dword [esp], eax
call ebx
test eax, eax
je 0x40d255
mov eax, dword [esp + 0x28]
test eax, eax
je 0x40d080
mov dword [esp + 4], 0x437227
mov dword [esp], eax
call ebx
test eax, eax
je 0x40d279
mov ebp, dword [esp + 0x28]
test ebp, ebp
je 0x40d080
mov dword [esp], str.Assignment_to_field_of_unknown_element_n
call fcn.0041ab80
mov eax, dword [esp + 0x2c]
mov dword [esp], str.No_value_assigned_to__s._s_n
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
call fcn.0041ab00
jmp 0x40bb51
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x8c]
mov ecx, esi
call fcn.00408ab0
test eax, eax
je 0x40d111
mov dword [esp + 4], esi
mov edx, dword [edi + 0x10]
mov ecx, dword [esp + 0x4c]
mov dword [esp], edx
mov edx, dword [esp + 0x2c]
call fcn.00409f60
test eax, eax
jne 0x40c301
jmp 0x40bb51
lea edx, [esi + 0x10]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x8c]
lea eax, [esi + 0x6c]
mov dword [esp + 8], edx
lea edx, [esi + 4]
mov dword [esp + 4], edx
mov edx, dword [edi + 0x10]
mov dword [esp], edx
mov edx, dword [esp + 0x2c]
call fcn.00409250
jmp 0x40c36f
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], str.width
mov dword [esp], eax
call ebx
test eax, eax
jne 0x40d3c9
mov edi, dword [esp + 0x8c]
test edi, edi
je 0x40d2ca
add dword [esi + 0x10], 1
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], 0x437a16
mov dword [esp], str.keyboard
mov dword [esp + 4], eax
call fcn.004149c0
jmp 0x40c36f
mov eax, dword [esi + 0xe0]
test eax, eax
je 0x40d0f1
lea esi, [esi]
cmp byte [eax + 0xc], 2
je 0x40bd10
mov eax, dword [eax + 4]
test eax, eax
jne 0x40d0e0
lea edx, [esi + 0xe0]
xor eax, eax
call fcn.00408a40
jmp 0x40bd10
mov dword [esp + 0xa8], esi
mov ebx, ebp
jmp 0x40beee
mov dword [esp], str.Assignment_to_field_of_unknown_element_in_section_n
call fcn.0041ab80
mov eax, dword [esp + 0x2c]
mov dword [esp], str.No_value_assigned_to__s._s_n
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
call fcn.0041ab00
jmp 0x40c301
mov eax, dword [esp + 0x94]
mov dword [esp + 8], 3
mov dword [esp + 4], eax
mov eax, dword [esp + 0x12c]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.004295c0
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp], str.Unknown_outline_type__s_for___s__n
call fcn.0041ab80
mov dword [esp], str.Treated_as_a_normal_outline_n
call fcn.0041ab00
jmp 0x40beec
mov edx, dword [0x434ec8]
test edx, edx
je 0x40bb51
mov dword [esp], str.Couldnt_allocate_a_new_OverlayInfo_n
call fcn.0041adb0
mov eax, dword [esp + 0x94]
mov dword [esp + 8], 3
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.004295c0
mov ebx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 8], 3
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.004295c0
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], str.Overlay___s__in_section___s__will_be_incomplete_n
call fcn.0041ab00
jmp 0x40bb51
mov eax, dword [esi + 0xe0]
test eax, eax
je 0x40d0f1
cmp byte [eax + 0xc], 1
je 0x40bd10
mov eax, dword [eax + 4]
test eax, eax
jne 0x40d204
jmp 0x40d0f1
mov eax, dword [esi + 0xe0]
test eax, eax
je 0x40d0f1
cmp byte [eax + 0xc], 3
je 0x40bd10
mov eax, dword [eax + 4]
test eax, eax
jne 0x40d228
jmp 0x40d0f1
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
mov ecx, dword [eax + 0x10]
mov eax, esi
call fcn.00408bb0
jmp 0x40c36f
mov eax, dword [esi + 0xe0]
test eax, eax
je 0x40d0f1
cmp byte [eax + 0xc], 4
je 0x40bd10
mov eax, dword [eax + 4]
test eax, eax
jne 0x40d263
jmp 0x40d0f1
mov eax, dword [esi + 0xe0]
test eax, eax
je 0x40d0f1
cmp byte [eax + 0xc], 5
je 0x40bd10
mov eax, dword [eax + 4]
test eax, eax
jne 0x40d287
jmp 0x40d0f1
mov dword [esp], str.Illegal_element_used_in_a_key_definition_n
call fcn.0041ac30
mov eax, dword [esp + 0x24]
mov dword [esp], 0x437fc6
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
call fcn.0041ab00
jmp 0x40bb51
lea eax, [esp + 0x4c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call fcn.00406cc0
test eax, eax
je 0x40d39c
mov eax, dword [esp + 0x4c]
test eax, eax
jle 0x40d367
mov ebx, dword [esi + 0x38]
test ebx, ebx
je 0x40d35f
mov dword [esp], str.Keyboard_width_multiply_defined_n
call fcn.0041ab80
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], 3
mov dword [esp], eax
call fcn.00429700
mov dword [esp], str.Using_last_definition___s__
mov dword [esp + 4], eax
call fcn.0041ab00
mov dword [esp + 4], 3
mov eax, dword [esi + 0x38]
mov dword [esp], eax
call fcn.00429700
mov dword [esp], str._ignoring_first___s__n
mov dword [esp + 4], eax
call fcn.0041aac0
mov eax, dword [esp + 0x4c]
mov dword [esi + 0x38], eax
jmp 0x40bf70
mov dword [esp], str.Keyboard_width_must_be_positive_n
call fcn.0041ab80
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], 3
mov dword [esp], eax
call fcn.00429700
mov dword [esp], str.Ignoring_illegal_keyboard_width__s_n
mov dword [esp + 4], eax
call fcn.0041ab00
jmp 0x40bf70
add dword [esi + 0x10], 1
mov dword [esp + 0xc], str.number
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], 0x437a16
mov dword [esp], str.keyboard
mov dword [esp + 4], eax
call fcn.00414a40
jmp 0x40c36f
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], str.widthmm
mov dword [esp], eax
call ebx
test eax, eax
je 0x40d099
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], str.height
mov dword [esp], eax
call ebx
test eax, eax
jne 0x40d4dc
mov ecx, dword [esp + 0x8c]
test ecx, ecx
jne 0x40d0a8
lea eax, [esp + 0x4c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call fcn.00406cc0
test eax, eax
je 0x40d39c
mov eax, dword [esp + 0x4c]
test eax, eax
jle 0x40d4a7
mov edx, dword [esi + 0x3c]
test edx, edx
je 0x40d49f
mov dword [esp], str.Keyboard_height_multiply_defined_n
call fcn.0041ab80
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], 3
mov dword [esp], eax
call fcn.00429700
mov dword [esp], str.Using_last_definition___s__
mov dword [esp + 4], eax
call fcn.0041ab00
mov dword [esp + 4], 3
mov eax, dword [esi + 0x3c]
mov dword [esp], eax
call fcn.00429700
mov dword [esp], str._ignoring_first___s__n
mov dword [esp + 4], eax
call fcn.0041aac0
mov eax, dword [esp + 0x4c]
mov dword [esi + 0x3c], eax
jmp 0x40bf70
mov dword [esp], str.Keyboard_height_must_be_positive_n
call fcn.0041ab80
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], 3
mov dword [esp], eax
call fcn.00429700
mov dword [esp], str.Ignoring_illegal_keyboard_height__s_n
mov dword [esp + 4], eax
call fcn.0041ab00
jmp 0x40bf70
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], str.heightmm
mov dword [esp], eax
call ebx
test eax, eax
je 0x40d3fb
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], str.font
mov dword [esp], eax
call ebx
test eax, eax
jne 0x40d56a
lea ebx, [esi + 0x40]
mov edi, dword [esp + 0x8c]
test edi, edi
jne 0x40d0a8
lea eax, [esp + 0x4c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call fcn.00407490
test eax, eax
je 0x40d584
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00422360
mov dword [ebx], eax
jmp 0x40bf70
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], str.fontslant
mov dword [esp], eax
call ebx
test eax, eax
jne 0x40d595
lea ebx, [esi + 0x44]
jmp 0x40d50d
add dword [esi + 0x10], 1
mov dword [esp + 0xc], 0x437290
jmp 0x40d3a8
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], str.slant
mov dword [esp], eax
call ebx
test eax, eax
je 0x40d57f
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], str.fontweight
mov dword [esp], eax
call ebx
test eax, eax
jne 0x40d5c7
lea ebx, [esi + 0x48]
jmp 0x40d50d
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], str.weight
mov dword [esp], eax
call ebx
test eax, eax
je 0x40d5bf
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], str.fontwidth
mov dword [esp], eax
call ebx
test eax, eax
je 0x40d5bf
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], str.setwidth
mov dword [esp], eax
call ebx
test eax, eax
je 0x40d5bf
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], str.fontencoding
mov dword [esp], eax
call ebx
test eax, eax
jne 0x40d623
lea ebx, [esi + 0x58]
jmp 0x40d50d
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], str.encoding
mov dword [esp], eax
call ebx
test eax, eax
je 0x40d61b
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], str.xfont
mov dword [esp], eax
call ebx
test eax, eax
jne 0x40d655
lea ebx, [esi + 0x5c]
jmp 0x40d50d
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], str.xfontname
mov dword [esp], eax
call ebx
test eax, eax
je 0x40d64d
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], str.fontsize
mov dword [esp], eax
call ebx
test eax, eax
jne 0x40d6d8
mov eax, dword [esp + 0x8c]
test eax, eax
jne 0x40d0a8
lea eax, [esp + 0x4c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call fcn.00406cc0
test eax, eax
je 0x40d39c
mov eax, dword [esp + 0x4c]
lea edx, [eax - 0x28]
cmp edx, 0x9ce
ja 0x40d753
mov dword [esi + 0x54], eax
jmp 0x40bf70
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], str.color
mov dword [esp], eax
call ebx
test eax, eax
jne 0x40d778
mov eax, dword [esp + 0x8c]
test eax, eax
jne 0x40d0a8
lea eax, [esp + 0x4c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call fcn.00407490
test eax, eax
je 0x40d584
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00422360
mov dword [esi + 0x60], eax
jmp 0x40bf70
add dword [esi + 0x10], 1
mov dword [esp + 4], eax
mov dword [esp], str.Illegal_font_size__d__must_be_4..255__n
call fcn.0041ac30
mov dword [esp], str.Ignoring_font_size_in_keyboard_geometry_n
call fcn.0041ab00
jmp 0x40bb51
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], str.basecolor
mov dword [esp], eax
call ebx
test eax, eax
je 0x40d6f1
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], str.labelcolor
mov dword [esp], eax
call ebx
test eax, eax
jne 0x40d23e
mov ebp, dword [esp + 0x8c]
test ebp, ebp
jne 0x40d0a8
lea eax, [esp + 0x4c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call fcn.00407490
test eax, eax
je 0x40d584
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00422360
mov dword [esi + 0x64], eax
jmp 0x40bf70