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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x50
mov esi, edx
test ecx, ecx
je 0x4184a7
mov edi, ecx
cmp dword [ecx + 0x18], 0
je 0x418784
cmp dword [edi + 0x1c], 0
je 0x418788
cmp dword [edi + 0x20], 0
je 0x41878c
cmp dword [edi + 0x24], 0
je 0x418790
cmp dword [edi + 0x28], 0
je 0x418794
cmp dword [edi + 0x2c], 0
je 0x418798
cmp dword [edi + 0x30], 0
je 0x41879c
cmp dword [edi + 0x34], 0
je 0x4187a0
cmp dword [edi + 0x38], 0
je 0x4187a4
cmp dword [edi + 0x3c], 0
je 0x4187a8
cmp dword [edi + 0x40], 0
je 0x4187ac
cmp dword [edi + 0x44], 0
je 0x4187b0
cmp dword [edi + 0x48], 0
je 0x4187b4
cmp dword [edi + 0x4c], 0
je 0x4187b8
cmp dword [edi + 0x50], 0
je 0x4187bc
cmp dword [edi + 0x54], 0
je 0x4187c0
cmp dword [edi + 0x58], 0
je 0x4187c4
cmp dword [edi + 0x5c], 0
je 0x4187c8
cmp dword [edi + 0x60], 0
je 0x4187cc
cmp dword [edi + 0x64], 0
je 0x4187d0
mov eax, edi
cmp dword [edi + 0x68], 0
je 0x4187d4
cmp dword [eax + 0x6c], 0
je 0x4187d8
cmp dword [eax + 0x70], 0
je 0x4187dc
cmp dword [eax + 0x74], 0
je 0x4187e0
cmp dword [eax + 0x78], 0
je 0x4187e4
cmp dword [eax + 0x7c], 0
je 0x4187e8
cmp dword [eax + 0x80], 0
je 0x4187ec
cmp dword [eax + 0x84], 0
je 0x4187f0
cmp dword [eax + 0x88], 0
je 0x4187f4
cmp dword [eax + 0x8c], 0
je 0x4187f8
cmp dword [eax + 0x90], 0
je 0x4187fc
cmp dword [eax + 0x94], 0
je 0x418800
push str.Too_much_devices_on_a_single_PCI_bus
call fcn.00410c10
add esp, 4
lea ecx, [esi + 0x10]
call fcn.0040f4d0
lea ecx, [esi + 0x38]
call fcn.0040f4d0
lea ecx, [esi + 0x60]
call fcn.0040f4d0
lea ecx, [esi + 0x88]
call fcn.0040f4d0
lea ecx, [esi + 0xb0]
call fcn.0040f4d0
lea ecx, [esi + 0xd8]
call fcn.0040f4d0
lea ecx, [esi + 0x110]
call fcn.0040f4d0
lea ecx, [esi + 0x138]
call fcn.0040f4d0
lea ecx, [esi + 0x160]
call fcn.0040f4d0
lea ecx, [esi + 0x188]
call fcn.0040f4d0
lea ecx, [esi + 0x1b0]
call fcn.0040f4d0
lea ecx, [esi + 0x1d8]
call fcn.0040f4d0
lea ecx, [esi + 0x210]
call fcn.0040f4d0
lea ecx, [esi + 0x238]
call fcn.0040f4d0
lea ecx, [esi + 0x260]
call fcn.0040f4d0
lea ecx, [esi + 0x288]
call fcn.0040f4d0
lea ecx, [esi + 0x2b0]
call fcn.0040f4d0
lea ecx, [esi + 0x2d8]
call fcn.0040f4d0
lea ecx, [esi + 0x310]
call fcn.0040f4d0
lea ecx, [esi + 0x338]
call fcn.0040f4d0
lea ecx, [esi + 0x360]
call fcn.0040f4d0
lea ecx, [esi + 0x388]
call fcn.0040f4d0
lea ecx, [esi + 0x3b0]
call fcn.0040f4d0
lea ecx, [esi + 0x3d8]
call fcn.0040f4d0
lea ecx, [esi + 0x410]
call fcn.0040f4d0
lea ecx, [esi + 0x438]
call fcn.0040f4d0
lea ecx, [esi + 0x460]
call fcn.0040f4d0
lea ecx, [esi + 0x488]
call fcn.0040f4d0
lea ecx, [esi + 0x4b0]
call fcn.0040f4d0
lea ecx, [esi + 0x4d8]
call fcn.0040f4d0
lea ecx, [esi + 0x510]
call fcn.0040f4d0
lea ecx, [esi + 0x538]
call fcn.0040f4d0
lea ecx, [esi + 0x560]
call fcn.0040f4d0
lea ecx, [esi + 0x588]
call fcn.0040f4d0
lea ecx, [esi + 0x5b0]
call fcn.0040f4d0
lea ecx, [esi + 0x5d8]
call fcn.0040f4d0
lea ecx, [esi + 0x610]
call fcn.0040f4d0
lea ecx, [esi + 0x638]
call fcn.0040f4d0
lea ecx, [esi + 0x660]
call fcn.0040f4d0
lea ecx, [esi + 0x688]
call fcn.0040f4d0
lea ecx, [esi + 0x6b0]
call fcn.0040f4d0
lea ecx, [esi + 0x6d8]
call fcn.0040f4d0
lea ecx, [esi + 0x710]
call fcn.0040f4d0
lea ecx, [esi + 0x738]
call fcn.0040f4d0
lea ecx, [esi + 0x760]
call fcn.0040f4d0
lea ecx, [esi + 0x788]
call fcn.0040f4d0
lea ecx, [esi + 0x7b0]
call fcn.0040f4d0
add esi, 0x7d8
mov ecx, esi
call fcn.0040f4d0
jmp 0x419044
add esi, 0xd8
mov edi, 0xfffff800
lea ebx, [esp + 0x10]
jmp 0x4184d8
push dword [esp + 0x1c]
call sub.MSVCR70.dll_free
add esp, 4
add edi, 0x100
je 0x419044
movsd xmm0, qword [esi + edi + 0x750]
movsd qword [esp + 0x28], xmm0
movsd xmm0, qword [esi + edi + 0x758]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esi + edi + 0x748]
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esi + edi + 0x738]
movsd xmm1, qword [esi + edi + 0x740]
movsd qword [esp + 0x18], xmm1
movsd qword [esp + 0x10], xmm0
mov eax, dword [esp + 0x28]
test eax, eax
je 0x418540
mov eax, dword [eax]
test eax, eax
je 0x418540
push ebx
call eax
jmp 0x418549
push dword [esp + 0x1c]
call sub.MSVCR70.dll_free
add esp, 4
movsd xmm0, qword [esi + edi + 0x778]
movsd qword [esp + 0x28], xmm0
movsd xmm0, qword [esi + edi + 0x780]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esi + edi + 0x770]
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esi + edi + 0x760]
movsd xmm1, qword [esi + edi + 0x768]
movsd qword [esp + 0x18], xmm1
movsd qword [esp + 0x10], xmm0
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4185b0
mov eax, dword [eax]
test eax, eax
je 0x4185b0
push ebx
call eax
jmp 0x4185b9
push dword [esp + 0x1c]
call sub.MSVCR70.dll_free
add esp, 4
movsd xmm0, qword [esi + edi + 0x7a0]
movsd qword [esp + 0x28], xmm0
movsd xmm0, qword [esi + edi + 0x7a8]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esi + edi + 0x798]
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esi + edi + 0x788]
movsd xmm1, qword [esi + edi + 0x790]
movsd qword [esp + 0x18], xmm1
movsd qword [esp + 0x10], xmm0
mov eax, dword [esp + 0x28]
test eax, eax
je 0x418620
mov eax, dword [eax]
test eax, eax
je 0x418620
push ebx
call eax
jmp 0x418629
push dword [esp + 0x1c]
call sub.MSVCR70.dll_free
add esp, 4
movsd xmm0, qword [esi + edi + 0x7c8]
movsd qword [esp + 0x28], xmm0
movsd xmm0, qword [esi + edi + 0x7d0]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esi + edi + 0x7c0]
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esi + edi + 0x7b0]
movsd xmm1, qword [esi + edi + 0x7b8]
movsd qword [esp + 0x18], xmm1
movsd qword [esp + 0x10], xmm0
mov eax, dword [esp + 0x28]
test eax, eax
je 0x418690
mov eax, dword [eax]
test eax, eax
je 0x418690
push ebx
call eax
jmp 0x418699
push dword [esp + 0x1c]
call sub.MSVCR70.dll_free
add esp, 4
movsd xmm0, qword [esi + edi + 0x7f0]
movsd qword [esp + 0x28], xmm0
movsd xmm0, qword [esi + edi + 0x7f8]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esi + edi + 0x7e8]
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esi + edi + 0x7d8]
movsd xmm1, qword [esi + edi + 0x7e0]
movsd qword [esp + 0x18], xmm1
movsd qword [esp + 0x10], xmm0
mov eax, dword [esp + 0x28]
test eax, eax
je 0x418700
mov eax, dword [eax]
test eax, eax
je 0x418700
push ebx
call eax
jmp 0x418709
push dword [esp + 0x1c]
call sub.MSVCR70.dll_free
add esp, 4
movsd xmm0, qword [esi + edi + 0x818]
movsd qword [esp + 0x28], xmm0
movsd xmm0, qword [esi + edi + 0x820]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esi + edi + 0x810]
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esi + edi + 0x800]
movsd xmm1, qword [esi + edi + 0x808]
movsd qword [esp + 0x18], xmm1
movsd qword [esp + 0x10], xmm0
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4184c0
mov eax, dword [eax]
test eax, eax
je 0x4184c0
push ebx
call eax
add esp, 4
add edi, 0x100
jne 0x4184d8
jmp 0x419044
xor ebx, ebx
jmp 0x418804
mov bl, 1
jmp 0x418804
mov bl, 2
jmp 0x418804
mov bl, 3
jmp 0x418804
mov bl, 4
jmp 0x418804
mov bl, 5
jmp 0x418804
mov bl, 6
jmp 0x418804
mov bl, 7
jmp 0x418804
mov bl, 8
jmp 0x418804
mov bl, 9
jmp 0x418804
mov bl, 0xa
jmp 0x418804
mov bl, 0xb
jmp 0x418804
mov bl, 0xc
jmp 0x418804
mov bl, 0xd
jmp 0x418804
mov bl, 0xe
jmp 0x418804
mov bl, 0xf
jmp 0x418804
mov bl, 0x10
jmp 0x418804
mov bl, 0x11
jmp 0x418804
mov bl, 0x12
jmp 0x418804
mov bl, 0x13
jmp 0x418804
mov bl, 0x14
jmp 0x418802
mov bl, 0x15
jmp 0x418802
mov bl, 0x16
jmp 0x418802
mov bl, 0x17
jmp 0x418802
mov bl, 0x18
jmp 0x418802
mov bl, 0x19
jmp 0x418802
mov bl, 0x1a
jmp 0x418802
mov bl, 0x1b
jmp 0x418802
mov bl, 0x1c
jmp 0x418802
mov bl, 0x1d
jmp 0x418802
mov bl, 0x1e
jmp 0x418802
mov bl, 0x1f
mov edi, eax
push 0x28
push 1
call sub.MSVCR70.dll_calloc
add esp, 8
test eax, eax
je 0x419050
mov dword [esp + 0x48], edi
mov dword [eax], edi
mov byte [eax + 0x24], bl
add esi, 0xd8
xor ecx, ecx
mov edi, 0xfffffe00
mov ebx, eax
mov dword [esp + 0x40], eax
nop word cs:[eax + eax]
nop
cmp word [esi + edi*4 + 0x728], 0
jne 0x41885a
cmp word [esi + edi*4 + 0x72a], 0
je 0x418de3
mov dword [esp + 0x44], ecx
mov eax, dword [ebx]
mov dword [esp + 4], eax
push 0x34
push 1
call sub.MSVCR70.dll_calloc
add esp, 8
test eax, eax
je 0x419050
mov edx, eax
mov dword [eax], ebx
mov eax, dword [esi + edi*4 + 0x728]
mov dword [edx + 0x28], eax
movzx eax, word [esi + edi*4 + 0x72c]
mov word [edx + 0x2c], ax
movzx eax, byte [esi + edi*4 + 0x72e]
mov byte [edx + 0x2e], al
movzx eax, byte [esi + edi*4 + 0x72f]
mov byte [edx + 0x2f], al
movzx eax, byte [esi + edi*4 + 0x730]
test eax, eax
mov byte [edx + 0x30], al
mov dword [edx + 0x20], 0x17
je 0x4188d3
mov ecx, dword [ebx + 0x24]
lea eax, [eax + ecx - 1]
and eax, 3
mov ecx, dword [esp + 4]
mov eax, dword [ecx + eax*4 + 8]
mov dword [edx + 0x24], eax
movsd xmm0, qword [esi + edi*4 + 0x738]
movsd xmm1, qword [esi + edi*4 + 0x740]
movsd qword [esp + 0x18], xmm1
movsd xmm1, qword [esi + edi*4 + 0x758]
movsd qword [esp + 0x30], xmm1
movsd xmm1, qword [esi + edi*4 + 0x750]
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esi + edi*4 + 0x748]
movsd qword [esp + 0x20], xmm1
movsd qword [esp + 0x10], xmm0
mov ebx, dword [esp + 0x18]
add ebx, 0xf
and ebx, 0xfffffff0
mov dword [esp + 0x18], ebx
mov dword [esp + 0x3c], edx
je 0x4189ad
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0xa8]
mov dword [esp + 8], ecx
mov edx, dword [eax + 0xac]
mov dword [esp + 0xc], edx
mov eax, ebx
sub eax, ecx
mov ecx, 0
sbb ecx, edx
push 0
push ebx
push ecx
push eax
call fcn.00436e30
add esp, 0x10
mov ecx, dword [esp + 8]
add eax, ecx
adc edx, dword [esp + 0xc]
mov dword [esp + 0x10], eax
add eax, ebx
mov dword [esp + 0x14], edx
adc edx, 0
mov ebx, ecx
sub ebx, eax
mov ecx, dword [esp + 4]
add dword [ecx + 0xb0], ebx
mov dword [ecx + 0xa8], eax
mov dword [ecx + 0xac], edx
mov ecx, dword [ecx]
lea edx, [esp + 0x10]
call fcn.0040ee00
mov edx, dword [esp + 0x3c]
mov dword [edx + 4], eax
test eax, eax
je 0x418e14
movsd xmm0, qword [esi + edi*4 + 0x760]
movsd xmm1, qword [esi + edi*4 + 0x768]
movsd qword [esp + 0x18], xmm1
movsd xmm1, qword [esi + edi*4 + 0x780]
movsd qword [esp + 0x30], xmm1
movsd xmm1, qword [esi + edi*4 + 0x778]
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esi + edi*4 + 0x770]
movsd qword [esp + 0x20], xmm1
movsd qword [esp + 0x10], xmm0
mov ebx, dword [esp + 0x18]
add ebx, 0xf
and ebx, 0xfffffff0
mov dword [esp + 0x18], ebx
je 0x418a83
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0xa8]
mov dword [esp + 8], ecx
mov edx, dword [eax + 0xac]
mov dword [esp + 0xc], edx
mov eax, ebx
sub eax, ecx
mov ecx, 0
sbb ecx, edx
push 0
push ebx
push ecx
push eax
call fcn.00436e30
add esp, 0x10
mov ecx, dword [esp + 8]
add eax, ecx
adc edx, dword [esp + 0xc]
mov dword [esp + 0x10], eax
add eax, ebx
mov dword [esp + 0x14], edx
adc edx, 0
mov ebx, ecx
sub ebx, eax
mov ecx, dword [esp + 4]
add dword [ecx + 0xb0], ebx
mov dword [ecx + 0xa8], eax
mov dword [ecx + 0xac], edx
mov ecx, dword [ecx]
lea edx, [esp + 0x10]
call fcn.0040ee00
mov edx, dword [esp + 0x3c]
mov dword [edx + 8], eax
test eax, eax
je 0x418e14
movsd xmm0, qword [esi + edi*4 + 0x788]
movsd xmm1, qword [esi + edi*4 + 0x790]
movsd qword [esp + 0x18], xmm1
movsd xmm1, qword [esi + edi*4 + 0x7a8]
movsd qword [esp + 0x30], xmm1
movsd xmm1, qword [esi + edi*4 + 0x7a0]
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esi + edi*4 + 0x798]
movsd qword [esp + 0x20], xmm1
movsd qword [esp + 0x10], xmm0
mov ebx, dword [esp + 0x18]
add ebx, 0xf
and ebx, 0xfffffff0
mov dword [esp + 0x18], ebx
je 0x418b59
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0xa8]
mov dword [esp + 8], ecx
mov edx, dword [eax + 0xac]
mov dword [esp + 0xc], edx
mov eax, ebx
sub eax, ecx
mov ecx, 0
sbb ecx, edx
push 0
push ebx
push ecx
push eax
call fcn.00436e30
add esp, 0x10
mov ecx, dword [esp + 8]
add eax, ecx
adc edx, dword [esp + 0xc]
mov dword [esp + 0x10], eax
add eax, ebx
mov dword [esp + 0x14], edx
adc edx, 0
mov ebx, ecx
sub ebx, eax
mov ecx, dword [esp + 4]
add dword [ecx + 0xb0], ebx
mov dword [ecx + 0xa8], eax
mov dword [ecx + 0xac], edx
mov ecx, dword [ecx]
lea edx, [esp + 0x10]
call fcn.0040ee00
mov edx, dword [esp + 0x3c]
mov dword [edx + 0xc], eax
test eax, eax
je 0x418e14
movsd xmm0, qword [esi + edi*4 + 0x7b0]
movsd xmm1, qword [esi + edi*4 + 0x7b8]
movsd qword [esp + 0x18], xmm1
movsd xmm1, qword [esi + edi*4 + 0x7d0]
movsd qword [esp + 0x30], xmm1
movsd xmm1, qword [esi + edi*4 + 0x7c8]
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esi + edi*4 + 0x7c0]
movsd qword [esp + 0x20], xmm1
movsd qword [esp + 0x10], xmm0
mov ebx, dword [esp + 0x18]
add ebx, 0xf
and ebx, 0xfffffff0
mov dword [esp + 0x18], ebx
je 0x418c2f
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0xa8]
mov dword [esp + 8], ecx
mov edx, dword [eax + 0xac]
mov dword [esp + 0xc], edx
mov eax, ebx
sub eax, ecx
mov ecx, 0
sbb ecx, edx
push 0
push ebx
push ecx
push eax
call fcn.00436e30
add esp, 0x10
mov ecx, dword [esp + 8]
add eax, ecx
adc edx, dword [esp + 0xc]
mov dword [esp + 0x10], eax
add eax, ebx
mov dword [esp + 0x14], edx
adc edx, 0
mov ebx, ecx
sub ebx, eax
mov ecx, dword [esp + 4]
add dword [ecx + 0xb0], ebx
mov dword [ecx + 0xa8], eax
mov dword [ecx + 0xac], edx
mov ecx, dword [ecx]
lea edx, [esp + 0x10]
call fcn.0040ee00
mov edx, dword [esp + 0x3c]
mov dword [edx + 0x10], eax
test eax, eax
je 0x418e14
movsd xmm0, qword [esi + edi*4 + 0x7d8]
movsd xmm1, qword [esi + edi*4 + 0x7e0]
movsd qword [esp + 0x18], xmm1
movsd xmm1, qword [esi + edi*4 + 0x7f8]
movsd qword [esp + 0x30], xmm1
movsd xmm1, qword [esi + edi*4 + 0x7f0]
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esi + edi*4 + 0x7e8]
movsd qword [esp + 0x20], xmm1
movsd qword [esp + 0x10], xmm0
mov ebx, dword [esp + 0x18]
add ebx, 0xf
and ebx, 0xfffffff0
mov dword [esp + 0x18], ebx
je 0x418d05
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0xa8]
mov dword [esp + 8], ecx
mov edx, dword [eax + 0xac]
mov dword [esp + 0xc], edx
mov eax, ebx
sub eax, ecx
mov ecx, 0
sbb ecx, edx
push 0
push ebx
push ecx
push eax
call fcn.00436e30
add esp, 0x10
mov ecx, dword [esp + 8]
add eax, ecx
adc edx, dword [esp + 0xc]
mov dword [esp + 0x10], eax
add eax, ebx
mov dword [esp + 0x14], edx
adc edx, 0
mov ebx, ecx
sub ebx, eax
mov ecx, dword [esp + 4]
add dword [ecx + 0xb0], ebx
mov dword [ecx + 0xa8], eax
mov dword [ecx + 0xac], edx
mov ecx, dword [ecx]
lea edx, [esp + 0x10]
call fcn.0040ee00
mov edx, dword [esp + 0x3c]
mov dword [edx + 0x14], eax
test eax, eax
je 0x418e14
movsd xmm0, qword [esi + edi*4 + 0x800]
movsd xmm1, qword [esi + edi*4 + 0x808]
movsd qword [esp + 0x18], xmm1
movsd xmm1, qword [esi + edi*4 + 0x820]
movsd qword [esp + 0x30], xmm1
movsd xmm1, qword [esi + edi*4 + 0x818]
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esi + edi*4 + 0x810]
movsd qword [esp + 0x20], xmm1
movsd qword [esp + 0x10], xmm0
mov ebx, dword [esp + 0x18]
add ebx, 0xf
and ebx, 0xfffffff0
mov dword [esp + 0x18], ebx
je 0x418dd7
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0xa8]
mov dword [esp + 8], ecx
mov edx, dword [eax + 0xac]
mov dword [esp + 0xc], edx
mov eax, ebx
sub eax, ecx
mov ecx, 0
sbb ecx, edx
push 0
push ebx
push ecx
push eax
call fcn.00436e30
add esp, 0x10
mov ecx, dword [esp + 8]
add eax, ecx
adc edx, dword [esp + 0xc]
mov dword [esp + 0x10], eax
add eax, ebx
mov dword [esp + 0x14], edx
adc edx, 0
mov ebx, ecx
sub ebx, eax
mov ecx, dword [esp + 4]
add dword [ecx + 0xb0], ebx
mov dword [ecx + 0xa8], eax
mov dword [ecx + 0xac], edx
mov ecx, dword [ecx]
lea edx, [esp + 0x10]
call fcn.0040ee00
mov edx, dword [esp + 0x3c]
mov dword [edx + 0x18], eax
test eax, eax
je 0x418e14
mov ebx, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov dword [ebx + ecx*4 + 4], edx
inc ecx
add edi, 0x40
jne 0x418840
mov esi, dword [esp + 0x48]
mov ecx, dword [esi]
call fcn.0040ec50
movzx ecx, byte [ebx + 0x24]
mov dword [esi + ecx*4 + 0x18], ebx
test al, al
je 0x419046
mov ecx, dword [esi]
call fcn.0040d9c0
jmp 0x419046
push edx
call sub.MSVCR70.dll_free
add esp, 4
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov dword [edi + eax*4 + 4], 0
mov esi, dword [edi + 4]
test esi, esi
je 0x418e64
mov ecx, dword [esi + 4]
call fcn.0040f240
mov ecx, dword [esi + 8]
call fcn.0040f240
mov ecx, dword [esi + 0xc]
call fcn.0040f240
mov ecx, dword [esi + 0x10]
call fcn.0040f240
mov ecx, dword [esi + 0x14]
call fcn.0040f240
mov ecx, dword [esi + 0x18]
call fcn.0040f240
push esi
call sub.MSVCR70.dll_free
add esp, 4
mov esi, dword [edi + 8]
test esi, esi
je 0x418ea4
mov ecx, dword [esi + 4]
call fcn.0040f240
mov ecx, dword [esi + 8]
call fcn.0040f240
mov ecx, dword [esi + 0xc]
call fcn.0040f240
mov ecx, dword [esi + 0x10]
call fcn.0040f240
mov ecx, dword [esi + 0x14]
call fcn.0040f240
mov ecx, dword [esi + 0x18]
call fcn.0040f240
push esi
call sub.MSVCR70.dll_free
add esp, 4
mov esi, dword [edi + 0xc]
test esi, esi
je 0x418ee4
mov ecx, dword [esi + 4]
call fcn.0040f240
mov ecx, dword [esi + 8]
call fcn.0040f240
mov ecx, dword [esi + 0xc]
call fcn.0040f240
mov ecx, dword [esi + 0x10]
call fcn.0040f240
mov ecx, dword [esi + 0x14]
call fcn.0040f240
mov ecx, dword [esi + 0x18]
call fcn.0040f240
push esi
call sub.MSVCR70.dll_free
add esp, 4
mov esi, dword [edi + 0x10]
test esi, esi
je 0x418f24
mov ecx, dword [esi + 4]
call fcn.0040f240
mov ecx, dword [esi + 8]
call fcn.0040f240
mov ecx, dword [esi + 0xc]
call fcn.0040f240
mov ecx, dword [esi + 0x10]
call fcn.0040f240
mov ecx, dword [esi + 0x14]
call fcn.0040f240
mov ecx, dword [esi + 0x18]
call fcn.0040f240
push esi
call sub.MSVCR70.dll_free
add esp, 4
mov esi, dword [edi + 0x14]
test esi, esi
je 0x418f64
mov ecx, dword [esi + 4]
call fcn.0040f240
mov ecx, dword [esi + 8]
call fcn.0040f240
mov ecx, dword [esi + 0xc]
call fcn.0040f240
mov ecx, dword [esi + 0x10]
call fcn.0040f240
mov ecx, dword [esi + 0x14]
call fcn.0040f240
mov ecx, dword [esi + 0x18]
call fcn.0040f240
push esi
call sub.MSVCR70.dll_free
add esp, 4
mov esi, dword [edi + 0x18]
test esi, esi
je 0x418fa4
mov ecx, dword [esi + 4]
call fcn.0040f240
mov ecx, dword [esi + 8]
call fcn.0040f240
mov ecx, dword [esi + 0xc]
call fcn.0040f240
mov ecx, dword [esi + 0x10]
call fcn.0040f240
mov ecx, dword [esi + 0x14]
call fcn.0040f240
mov ecx, dword [esi + 0x18]
call fcn.0040f240
push esi
call sub.MSVCR70.dll_free
add esp, 4
mov esi, dword [edi + 0x1c]
test esi, esi
je 0x418fe4
mov ecx, dword [esi + 4]
call fcn.0040f240
mov ecx, dword [esi + 8]
call fcn.0040f240
mov ecx, dword [esi + 0xc]
call fcn.0040f240
mov ecx, dword [esi + 0x10]
call fcn.0040f240
mov ecx, dword [esi + 0x14]
call fcn.0040f240
mov ecx, dword [esi + 0x18]
call fcn.0040f240
push esi
call sub.MSVCR70.dll_free
add esp, 4
mov esi, dword [edi + 0x20]
test esi, esi
je 0x419024
mov ecx, dword [esi + 4]
call fcn.0040f240
mov ecx, dword [esi + 8]
call fcn.0040f240
mov ecx, dword [esi + 0xc]
call fcn.0040f240
mov ecx, dword [esi + 0x10]
call fcn.0040f240
mov ecx, dword [esi + 0x14]
call fcn.0040f240
mov ecx, dword [esi + 0x18]
call fcn.0040f240
push esi
call sub.MSVCR70.dll_free
add esp, 4
mov eax, dword [edi]
movzx ecx, byte [edi + 0x24]
mov dword [eax + ecx*4 + 0x18], 0
push edi
call sub.MSVCR70.dll_free
add esp, 4
xor ebx, ebx
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push str.Out_of_memory_
call fcn.00410c90
int3