Function at 0x427f00
Capabilities:
Access peb ldr_data
Get process heap flags
Get process heap force flags

Disassembly:
push 0xffffffffffffffff
push 0x610249
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push ebp
push esi
push edi
mov eax, dword [0x67dc50]
xor eax, esp
push eax
lea eax, [esp + 0x24]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x34]
mov eax, dword [edi + 0x30]
push eax
call fcn.005e9060
mov eax, dword [edi + 0x24]
xor ebp, ebp
push eax
lea ecx, [esi + 0xc]
mov dword [esp + 0x30], ebp
call fcn.005e9060
mov ebx, 1
lea ecx, [esi + 0x18]
mov byte [esp + 0x2c], bl
call fcn.005e8490
lea ecx, [esi + 0x68]
mov byte [esp + 0x2c], 2
mov dword [esi + 0x2c], ebp
mov dword [esi + 0x30], ebp
mov dword [esi + 0x34], ebp
mov dword [esi + 0x38], ebp
mov dword [esi + 0x3c], ebp
mov dword [esi + 0x40], ebp
mov dword [esi + 0x44], ebp
call fcn.005e8490
lea ecx, [esi + 0x74]
mov byte [esp + 0x2c], 3
call fcn.00405fd0
lea ecx, [esi + 0x80]
mov byte [esp + 0x2c], 4
call fcn.00405fd0
lea ecx, [esi + 0x8c]
mov byte [esp + 0x2c], 5
call fcn.00405fd0
lea ecx, [esi + 0x98]
mov byte [esp + 0x2c], 6
call fcn.00405fd0
lea ecx, [esi + 0xa4]
mov byte [esp + 0x2c], 7
call fcn.00405fd0
lea ecx, [esi + 0xb0]
mov byte [esp + 0x2c], 8
call fcn.00405fd0
lea ecx, [esi + 0xbc]
mov byte [esp + 0x2c], 9
call fcn.00405fd0
lea ecx, [esi + 0xe8]
mov byte [esp + 0x2c], 0xa
call fcn.00405fd0
lea ecx, [esi + 0xf4]
mov byte [esp + 0x2c], 0xb
call fcn.00405fd0
lea ecx, [esi + 0x100]
mov byte [esp + 0x2c], 0xc
call fcn.00407e30
lea ecx, [esi + 0x188]
mov byte [esp + 0x2c], 0xd
call fcn.00405fd0
lea ecx, [esi + 0x194]
mov byte [esp + 0x2c], 0xe
call fcn.00405fd0
lea ecx, [esi + 0x1a0]
mov byte [esp + 0x2c], 0xf
call fcn.00405fd0
mov byte [esp + 0x2c], 0x10
lea ecx, [esi + 0x1ac]
call fcn.00405fd0
mov dword [esi + 0x1e8], ebp
mov dword [esi + 0x1ec], ebp
push ebx
push ebp
push ebp
push ebp
lea ecx, [esi + 0x1f0]
mov byte [esp + 0x3c], 0x12
call fcn.0054ae80
lea ecx, [esi + 0x210]
mov byte [esp + 0x2c], 0x13
call fcn.005851f0
lea ecx, [esi + 0x244]
mov byte [esp + 0x2c], 0x14
call fcn.005e8490
lea ecx, [esi + 0x258]
call dword [sym.imp.mfc90.dll_Ordinal_316]
lea ecx, [esi + 0x27c]
mov byte [esp + 0x2c], 0x16
call fcn.00405fd0
lea ecx, [esi + 0x2e4]
mov byte [esp + 0x2c], 0x17
call fcn.005e8490
lea ecx, [esi + 0x2f0]
mov byte [esp + 0x2c], 0x18
call fcn.00405fd0
lea ecx, [esi + 0x308]
mov byte [esp + 0x2c], 0x19
call fcn.00513f30
fldz
fstp dword [esi + 0x250]
mov dword [esi + 0x24], ebp
mov dword [esi + 0x28], ebp
mov dword [esi + 0x2c], ebp
mov dword [esi + 0x30], ebp
mov dword [esi + 0x34], ebp
mov dword [esi + 0x38], ebp
mov dword [esi + 0x3c], ebp
mov dword [esi + 0x40], ebp
mov dword [esi + 0x44], ebp
mov dword [esi + 0x4c], ebp
mov dword [esi + 0x50], ebp
mov dword [esi + 0x54], ebp
mov dword [esi + 0x48], ebp
mov dword [esi + 0x58], ebp
mov dword [esi + 0x1c4], ebp
mov eax, dword [edi + 0xc4]
mov byte [esp + 0x2c], 0x1a
test al, 8
jne 0x42813f
test eax, 0x800
jne 0x42813f
test byte [edi + 0xc8], 0x10
jne 0x428181
mov ecx, dword [0x67df90]
call dword [sym.imp.BMA_C9.dll_public:_class_BMAInterface____thiscall_BMAProject::GetInterface_void_]
cmp eax, ebp
jne 0x42815b
mov dword [esi + 0x288], 0xffffffff
jmp 0x428181
mov ecx, eax
call dword [sym.imp.BMA_C9.dll_public:_class_BMAIfBD____thiscall_BMAInterface::GetBD_void_]
cmp eax, ebp
jne 0x428173
mov dword [esi + 0x288], 0xffffffff
jmp 0x428181
mov ecx, eax
call dword [sym.imp.BMA_C9.dll_public:_float___thiscall_BMAIfBD::GetMinHoleAperture_void_]
fstp dword [esi + 0x250]
fld dword [edi + 0xdc]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fstp dword [esi + 0x294]
fld dword [edi + 0xe0]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fstp dword [esi + 0x298]
fld dword [edi + 0xe4]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fstp dword [esi + 0x29c]
fld dword [edi + 0xe8]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fstp dword [esi + 0x2a0]
mov eax, dword [edi + 0xc4]
test al, 8
je 0x4281df
xor eax, eax
jmp 0x4281fd
test eax, 0x800
je 0x4281ed
mov eax, 2
jmp 0x4281fd
movsx eax, byte [edi + 0xc8]
and eax, 0x10
or eax, 8
shr eax, 3
mov word [esi + 0x254], ax
movsx eax, byte [edi + 0xc4]
and eax, 0x10
shr eax, 4
mov dword [esi + 0x25c], eax
movsx eax, byte [edi + 0xc4]
and eax, 0x20
shr eax, 5
mov dword [esi + 0x260], eax
mov dword [esi + 0x264], ebp
cmp eax, ebx
jne 0x428240
mov eax, dword [edi + 0x104]
mov dword [esi + 0x264], eax
movsx eax, byte [edi + 0xc4]
and eax, 0x40
shr eax, 6
mov dword [esi + 0x268], eax
test byte [edi + 0xc4], 0x80
mov eax, 0
setne al
push ebp
lea ecx, [esi + 0x98]
mov dword [esi + 0x26c], eax
mov eax, dword [edi + 0xc4]
shr eax, 8
and eax, ebx
mov dword [esi + 0x270], eax
mov eax, dword [edi + 0xc4]
shr eax, 9
and eax, ebx
mov dword [esi + 0x274], eax
mov eax, dword [edi + 0xc4]
shr eax, 0xb
and eax, ebx
mov dword [esi + 0x278], eax
mov eax, dword [edi + 0xcc]
mov dword [esi + 0x64], eax
mov dword [esi + 0xe0], 0x100
mov dword [esi + 0xe4], ebp
mov dword [esi + 0xd4], ebp
call fcn.005e99d0
mov dword [esi + 0x98], ebp
mov dword [esi + 0x1bc], ebp
mov dword [esi + 0x1c0], ebp
test dword [edi + 0xc4], 0x8000
je 0x4282ea
mov dword [esi + 0x1bc], ebx
mov ecx, dword [esi + 0x1bc]
mov dword [esi + 0x100], ecx
movsx eax, byte [edi + 0xc8]
and eax, 2
shr eax, 1
mov dword [esi + 0x2a4], eax
mov dword [esi + 0x2a8], ebx
movsx eax, byte [edi + 0xc8]
and eax, 8
shr eax, 3
mov dword [esi + 0x2ac], eax
cmp eax, ebx
jne 0x428346
mov eax, dword [edi + 0xc8]
shr eax, 0xb
and eax, ebx
mov dword [esi + 0x2b0], eax
fld dword [edi + 0xf0]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
jmp 0x42834e
fldz
mov dword [esi + 0x2b0], ebp
fstp dword [esi + 0x2b4]
lea edx, [esp + 0x18]
fld dword [edi + 0xf4]
push edx
fstp dword [esp + 0x38]
mov ecx, edi
fld dword [esp + 0x38]
fstp dword [esi + 0x2b8]
fld dword [edi + 0xf8]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fstp dword [esi + 0x2bc]
movsx eax, byte [edi + 0xc8]
and eax, 0x20
shr eax, 5
mov dword [esi + 0x2c0], eax
mov eax, dword [edi + 0x100]
mov dword [esi + 0x2c4], eax
mov eax, dword [edi + 0xc8]
shr eax, 8
and eax, ebx
mov dword [esi + 0x2cc], eax
mov eax, dword [edi + 0xfc]
mov dword [esi + 0x2d0], eax
mov eax, dword [edi + 0xc8]
shr eax, 0xd
and eax, ebx
mov dword [esi + 0x2d8], eax
mov eax, dword [edi + 0xc8]
shr eax, 0xe
and eax, ebx
mov dword [esi + 0x2dc], eax
mov eax, dword [edi + 0xc8]
shr eax, 0xf
and eax, ebx
mov dword [esi + 0x2e0], eax
call fcn.00426ed0
mov ecx, dword [eax + 4]
mov eax, dword [eax]
push ecx
push eax
lea ecx, [esi + 0x2e4]
mov byte [esp + 0x34], 0x1b
call fcn.005e8730
lea ecx, [esp + 0x18]
mov byte [esp + 0x2c], 0x1a
call fcn.005e8710
lea eax, [esp + 0x18]
push eax
mov ecx, edi
call fcn.00426f00
push eax
lea ecx, [esi + 0x2f0]
mov byte [esp + 0x30], 0x1c
call fcn.005e9b10
lea ecx, [esp + 0x18]
mov byte [esp + 0x2c], 0x1a
call fcn.005e9950
mov eax, dword [edi + 0xc8]
mov ecx, dword [esi + 0x25c]
shr eax, 0x14
and eax, ebx
mov dword [esi + 0x2fc], eax
mov edi, dword [edi + 0xc8]
shr edi, 0x15
and edi, ebx
mov dword [esi + 0x300], edi
mov dword [esi + 0x1dc], ebp
mov dword [esi + 0x104], ebp
mov dword [esi + 0x1e0], ecx
mov dword [esi + 0x1e4], ebp
mov dword [esi + 0x1c8], ebp
mov dword [esi + 0x1cc], ebx
mov dword [esi + 0x1d0], ebp
mov dword [esi + 0x108], ebx
mov dword [esi + 0x10c], ebx
mov dword [esi + 0x110], ebx
mov dword [esi + 0x114], ebx
mov dword [esi + 0x118], ebx
mov edx, dword [esi + 0x268]
mov dword [esi + 0x124], edx
cmp word [esi + 0x254], bp
jne 0x4284d4
mov dword [esi + 0x11c], ebx
jmp 0x4284e0
mov ecx, dword [esi + 0x270]
mov dword [esi + 0x11c], ecx
mov ecx, dword [esi + 0x274]
mov dword [esi + 0x12c], ecx
cmp ecx, ebp
jne 0x4284fe
cmp eax, ebx
je 0x4284f8
cmp edi, ebx
jne 0x4284fe
mov dword [esi + 0x12c], ebx
lea edi, [esi + 0x27c]
push ebp
mov ecx, edi
call fcn.005ee1f0
mov dword [edi], ebp
mov dword [esi + 0x304], ebp
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
xor ecx, ecx
mov edx, 0x411
cmp ax, dx
sete cl
lea edi, [esi + 0x308]
push ebp
mov dword [esi + 0x2d4], ecx
mov ecx, edi
call fcn.005ee1f0
mov dword [edi], ebp
mov eax, esi
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 4