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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0xfc
mov ebp, dword [esp + 0x110]
mov eax, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
mov ecx, dword [ebp + 8]
mov dword [esp + 0xf8], ecx
xor edx, edx
mov ecx, dword [eax]
mov dword [esp + 0xf4], edx
xor edx, edx
test ecx, ecx
jle 0x44e6d0
mov ebp, dword [ebx + 0x74]
mov eax, edx
shl eax, 4
mov dword [esp + 0xe0], ebp
lea eax, [eax + edx*8]
mov esi, dword [esp + 0xf4]
mov esi, esi
lea edi, [edi]
mov ebx, dword [esp + 0x118]
mov ebp, dword [ebx + 0x37e0]
test ebp, ebp
je 0x44e68e
lea ebp, [edx + edx]
add ebp, ebp
mov edi, dword [esp + 0x114]
mov ebx, dword [edi + 0x34]
mov edi, dword [eax + ebx + 0x10]
mov dword [esp + ebp + 0x30], edi
mov edi, dword [eax + ebx + 0xc]
inc edx
mov dword [esp + ebp + 0x40], edi
mov edi, dword [eax + ebx + 0x14]
mov edi, dword [edi + 8]
mov dword [esp + ebp + 0x50], edi
mov edi, dword [eax + ebx + 4]
imul edi, dword [eax + ebx + 8]
add esi, edi
add eax, 0x18
mov dword [esp + ebp + 0x60], edi
cmp edx, ecx
jl 0x44d3b0
mov dword [esp + 0xf4], esi
mov ebx, dword [esp + 0x118]
mov ebp, dword [ebx + 0x37b8]
mov edx, dword [ebx + 0x37bc]
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0xb8], ebp
cmp ecx, 1
mov dword [esp + 0xc0], edx
mov dword [esp + 0xf0], eax
je 0x44e602
mov eax, ebp
lea ecx, [eax + eax]
add ecx, ecx
add ecx, ecx
mov ebp, edx
lea ebp, [ebp + ebp]
add ebp, ebp
add ebp, ebp
mov edi, dword [esp + 0xf0]
imul edi, ebp
mov esi, dword [ebx + 0x78]
mov edx, dword [ebx + 0x7c]
mov dword [esp + 0xf0], edi
mov dword [esp + 0xa0], esi
mov dword [esp + 0xec], edx
mov edx, dword [esp + 0xb8]
cmp edx, 1
je 0x44e5e4
mov dl, 1
xor edi, edi
mov esi, dword [ebx + 0x37c0]
mov byte [esp + 0xc4], dl
test esi, esi
jle 0x44d503
mov edx, edi
shl edx, 4
mov al, byte [esp + 0xc4]
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x90], ecx
nop
lea esi, [esi]
test al, al
je 0x44e5ca
mov ebp, dword [ebx + 0x37cc]
mov ecx, dword [ebp + edx + 4]
cmp ecx, dword [ebp + edx + 8]
je 0x44d4da
xor al, al
cmp ecx, 1
je 0x44d4e6
cmp ecx, 2
je 0x44d4e6
xor al, al
add edx, 0x10
inc edi
cmp edi, esi
jl 0x44d4c0
mov byte [esp + 0xc4], al
mov ebp, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov eax, ecx
mov esi, dword [esp + 0x11c]
cdq
idiv esi
mov dword [esp + 0xe8], eax
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0xe8]
cdq
idiv ecx
mov dword [esp + 0xe4], eax
mov esi, dword [ebx + 0xc]
lea eax, [ecx + esi - 1]
cdq
idiv ecx
mov esi, eax
mov eax, ebp
mov ecx, dword [esp + 0x11c]
cdq
idiv ecx
mov ebp, eax
mov eax, dword [ebx + 8]
cdq
idiv ebp
mov edi, eax
mov ecx, dword [ebx + 0x10]
lea eax, [ebp + ecx - 1]
cdq
mov ecx, dword [ebx + 0x4de8]
idiv ebp
cmp ecx, 1
mov dword [esp + 0xbc], eax
je 0x44e5a9
xor edx, edx
mov dword [esp + 0xb4], edx
cmp ecx, 1
je 0x44e588
xor edx, edx
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0xe4]
test edx, edx
je 0x44d5a0
sub edx, dword [esp + 0xb4]
mov dword [esp + 0xe4], edx
test edi, edi
je 0x44d5ab
sub edi, dword [esp + 0xc0]
mov edx, dword [esp + 0xa0]
cmp esi, edx
jge 0x44d5bd
add esi, dword [esp + 0xb4]
mov edx, dword [esp + 0xec]
mov ecx, eax
cmp ecx, edx
jge 0x44d5da
mov edx, eax
add edx, dword [esp + 0xc0]
mov dword [esp + 0xbc], edx
mov edx, dword [esp + 0x114]
mov ebp, dword [edx + 0x20]
cmp ebp, edi
jg 0x44d5ea
mov ebp, edi
mov edx, dword [esp + 0xe0]
cmp edx, 1
je 0x44e3f0
mov ecx, dword [esp + 0x114]
mov edx, dword [ecx + 0x1c]
test edx, edx
jne 0x44d843
mov edx, ebp
shl edx, 5
lea edx, [edx + ebp*8]
mov ecx, dword [ebx + 0x4830]
mov edx, dword [ecx + edx]
cmp edx, 0xffffffff
mov dword [esp + 0xb0], ecx
jne 0x44e107
mov dword [esp + 0xb8], ebp
jne 0x44d668
mov edx, ebp
mov ecx, edx
shl ecx, 5
lea eax, [ecx + edx*8]
mov ecx, edx
mov edx, dword [esp + 0xb0]
lea esi, [esi]
add eax, 0xffffffd8
dec ecx
cmp dword [edx + eax], 0xffffffff
je 0x44d650
mov dword [esp + 0xb8], ecx
mov ebx, dword [esp + 0x118]
mov edx, dword [esp + 0xb8]
mov ecx, dword [esp + 0x110]
mov dword [esp], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.00449ef0
test eax, eax
jne 0x44d838
mov ecx, dword [ebx + 0x4834]
mov edx, dword [esp + 0xb8]
cmp edx, ebp
jge 0x44d843
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x94], ebp
mov dword [esp + 0x98], edi
mov ebp, dword [esp + 0x114]
mov edi, dword [esp + 0x110]
mov dword [esp + 0x9c], esi
mov esi, dword [esp + 0xa0]
xor eax, eax
test esi, esi
jle 0x44d7e6
mov ebx, eax
xor eax, eax
mov edx, dword [ebp]
test edx, edx
jle 0x44d7a4
mov dword [esp + 0xe0], ebx
mov ebx, eax
mov edi, dword [esp + 0xdc]
mov dword [esp + 0xa0], esi
xor esi, esi
mov ecx, dword [esp + ebx*4 + 0x60]
test ecx, ecx
jle 0x44d78a
mov edx, dword [ebp + ebx*4 + 0x24]
mov ebp, dword [esp + 0x110]
lea esi, [esi]
lea edi, [edi]
mov word [esp + 0x70], dx
mov edx, dword [esp + ebx*4 + 0x40]
mov ecx, dword [esp + ebx*4 + 0x30]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
lea edx, [esp + 0x70]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xf8]
mov dword [esp + 0x10], edi
call dword [edx + pe_nt_image_headers32]
movsx edx, word [esp + 0x70]
mov ecx, dword [esp + 0x114]
test eax, eax
mov dword [ecx + ebx*4 + 0x24], edx
jl 0x44e72f
inc esi
cmp esi, dword [esp + ebx*4 + 0x60]
jl 0x44d730
mov ebp, dword [esp + 0x114]
mov edx, dword [ebp]
inc ebx
cmp ebx, edx
jl 0x44d70f
mov ebx, dword [esp + 0xe0]
mov esi, dword [esp + 0xa0]
mov edi, dword [esp + 0x110]
mov dword [esp], edi
mov edx, dword [esp + 0xec]
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ecx
call fcn.0044a0c0
test eax, eax
jne 0x44e6df
inc ebx
cmp ebx, esi
jl 0x44d6eb
mov ebx, dword [esp + 0x118]
mov eax, dword [esp + 0xb8]
inc eax
mov dword [esp + 0xb8], eax
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
call fcn.0044a000
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0xb8]
cmp eax, edx
jl 0x44d6df
mov dword [esp + 0xa0], esi
mov ebp, edx
mov edi, dword [esp + 0x98]
mov esi, dword [esp + 0x9c]
jmp 0x44d843
add esp, 0xfc
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [esp + 0xbc]
cmp ebp, edx
jge 0x44e020
mov edx, dword [esp + 0xb4]
lea ecx, [edx + esi]
lea edx, [edx + esi - 1]
mov dword [esp + 0xb8], ecx
mov eax, dword [esp + 0xa0]
mov ecx, eax
shl ecx, 7
shl eax, 4
mov dword [esp + 0xa4], eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x94], ebp
mov dword [esp + 0x98], edi
mov ebp, dword [esp + 0x114]
mov dword [esp + 0x9c], esi
mov edx, dword [ebx + 0x4834]
mov edi, dword [ebp + 0x1c]
mov eax, dword [esp + 0xe4]
cmp edi, eax
jge 0x44d9d0
mov dword [esp + 0xdc], edx
mov esi, dword [esp + 0xa0]
mov ebx, dword [esp + 0x110]
xor eax, eax
mov edx, dword [ebp]
test edx, edx
jle 0x44d984
mov dword [esp + 0xe0], edi
mov ebx, eax
mov edi, dword [esp + 0xdc]
xor esi, esi
mov ecx, dword [esp + ebx*4 + 0x60]
test ecx, ecx
jle 0x44d96a
mov edx, dword [ebp + ebx*4 + 0x24]
mov ebp, dword [esp + 0x110]
lea esi, [esi]
lea edi, [edi]
mov word [esp + 0x78], dx
mov edx, dword [esp + ebx*4 + 0x40]
mov ecx, dword [esp + ebx*4 + 0x30]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
lea edx, [esp + 0x78]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xf8]
mov dword [esp + 0x10], edi
call dword [edx + pe_nt_image_headers32]
movsx edx, word [esp + 0x78]
mov ecx, dword [esp + 0x114]
test eax, eax
mov dword [ecx + ebx*4 + 0x24], edx
jl 0x44e7bd
inc esi
cmp esi, dword [esp + ebx*4 + 0x60]
jl 0x44d910
mov ebp, dword [esp + 0x114]
mov edx, dword [ebp]
inc ebx
cmp ebx, edx
jl 0x44d8f1
mov edi, dword [esp + 0xe0]
mov esi, dword [esp + 0xa0]
mov ebx, dword [esp + 0x110]
mov dword [esp], ebx
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0x94]
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edx
call fcn.0044a0c0
test eax, eax
jne 0x44e7ad
inc edi
mov eax, dword [esp + 0xe4]
cmp edi, eax
jl 0x44d8d4
mov ebx, dword [esp + 0x118]
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebx + 0x4ddc]
test eax, eax
je 0x44e380
mov eax, dword [esp + 0xe4]
cmp edi, eax
jg 0x44d9eb
mov edi, eax
mov eax, dword [esp + 0x9c]
cmp edi, eax
jge 0x44de64
mov eax, dword [ebx + 0x4834]
xor esi, esi
mov dword [esp + 0xb0], eax
mov eax, dword [ebp]
test eax, eax
jle 0x44dcfc
mov edx, edi
shl edx, 4
mov dword [esp + 0xe0], edi
mov dword [esp + 0xdc], edx
mov edx, dword [ebx + 0x4ddc]
test edx, edx
je 0x44dc20
mov edx, dword [edx]
test edx, edx
jne 0x44dc20
xor edi, edi
mov edx, esi
shl edx, 4
mov dword [esp + 0xd4], edi
mov edi, dword [ebp + 0x34]
lea ecx, [edx + esi*8]
mov edx, dword [ecx + edi + 8]
test edx, edx
jle 0x44dcec
lea eax, [esi + esi]
mov edi, dword [ecx + edi + 4]
mov ebx, dword [esp + 0xd4]
mov dword [esp + 0xc8], eax
mov eax, edi
mov dword [esp + 0xa8], esi
xor esi, esi
test eax, eax
jle 0x44dbfe
mov eax, esi
shl eax, 4
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd0], eax
mov dword [esp + 0xcc], esi
mov dword [esp + 0xd8], ecx
mov eax, dword [esp + 0xc8]
mov eax, dword [ebp + eax*2 + 0x24]
mov esi, dword [esp + 0xa8]
mov word [esp + 0x80], ax
mov eax, dword [esp + 0x110]
mov edi, dword [esp + esi*4 + 0x40]
mov dword [esp], eax
mov ebx, dword [esp + esi*4 + 0x30]
lea ecx, [esp + 0x80]
mov dword [esp + 4], edi
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call dword [eax + 0xf4]
movsx ecx, word [esp + 0x80]
mov edx, dword [esp + 0xc8]
test eax, eax
mov dword [ebp + edx*2 + 0x24], ecx
jl 0x44e77d
mov eax, dword [ebp + 0x34]
mov ecx, dword [esp + 0xd8]
mov edx, dword [ecx + eax + 4]
mov esi, dword [esp + 0x118]
mov ebx, dword [esi + 0x4ddc]
mov esi, edx
imul esi, dword [esp + 0xdc]
mov edi, dword [esp + 0xc8]
add esi, dword [ebx + edi*2 + 4]
mov ebx, dword [esp + 0x94]
imul ebx, dword [ecx + eax + 8]
mov edi, dword [esp + 0xb0]
add ebx, dword [esp + 0xd4]
imul edx, dword [esp + 0x90]
imul ebx, edx
add esi, ebx
xor ebx, ebx
add esi, dword [esp + 0xd0]
lea esi, [esi]
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], 0x10
call dword [0x47b568]
mov edx, dword [ebp + 0x34]
mov eax, dword [esp + 0xd8]
mov eax, dword [eax + edx + 4]
mov ecx, dword [esp + 0xa4]
imul ecx, eax
add esi, ecx
add edi, 0x10
inc ebx
cmp ebx, 8
jl 0x44db80
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0xcc]
inc edx
mov dword [esp + 0xb0], edi
add dword [esp + 0xd0], 0x10
mov dword [esp + 0xcc], edx
cmp edx, eax
jl 0x44daa8
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov edx, dword [ecx + edx + 8]
inc ebx
cmp ebx, edx
jl 0x44da7d
mov esi, dword [esp + 0xa8]
mov ebx, dword [esp + 0x118]
mov eax, dword [ebp]
jmp 0x44dcec
xor edi, edi
lea edx, [esi + esi]
mov ecx, dword [esp + esi*4 + 0x60]
test ecx, ecx
jle 0x44dcec
mov dword [esp + 0xd8], edx
mov ebp, dword [esp + 0xb0]
nop
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0xd8]
mov eax, dword [edx + eax*2 + 0x24]
mov word [esp + 0x7c], ax
mov eax, dword [esp + 0x110]
mov ebx, dword [esp + esi*4 + 0x40]
mov dword [esp], eax
mov ecx, dword [esp + esi*4 + 0x30]
lea edx, [esp + 0x7c]
mov dword [esp + 4], ebx
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call dword [eax + 0xf4]
mov ebx, eax
movsx eax, word [esp + 0x7c]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0xd8]
mov dword [ecx + edx*2 + 0x24], eax
mov ecx, dword [esp + esi*4 + 0x50]
mov edx, dword [esp + 0xf8]
mov dword [esp], ebp
mov dword [esp + 4], ecx
call dword [edx + 0x110]
test ebx, ebx
jl 0x44e6ff
add ebp, 0x80
inc edi
cmp edi, dword [esp + esi*4 + 0x60]
jl 0x44dc40
mov dword [esp + 0xb0], ebp
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x114]
mov eax, dword [ebp]
inc esi
cmp esi, eax
jl 0x44da27
mov edi, dword [esp + 0xe0]
mov esi, dword [esp + 0x110]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xec]
mov dword [esp], esi
mov eax, dword [esp + 0x94]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
call fcn.0044a0c0
test eax, eax
jne 0x44e6ef
mov eax, dword [ebx + 0x4ddc]
test eax, eax
je 0x44dd4c
mov eax, dword [eax]
test eax, eax
je 0x44ddb3
mov dword [esp], ebx
mov eax, dword [esp + 0x110]
mov esi, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xec]
mov dword [esp + 8], ebp
mov edx, dword [esp + 0x11c]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x4834]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], esi
mov al, byte [esp + 0xc4]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov byte [esp + 0x28], al
call fcn.00448a60
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x44de50
mov eax, dword [ebx + 0x74]
cmp eax, 1
je 0x44e13c
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x44ddf0
mov eax, dword [esp + 0xe4]
cmp edi, eax
jne 0x44ddf0
lea ecx, [edi + 1]
jmp 0x44de53
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x44de20
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x94]
cmp edx, eax
jne 0x44de20
lea ecx, [edi + 1]
jmp 0x44de53
lea ecx, [edi + 1]
mov eax, ecx
mov esi, dword [esp + 0xb8]
cdq
idiv esi
mov esi, dword [esp + 0x8c]
cmp edi, esi
jne 0x44e73f
xor edx, edx
mov dword [ebp + 0x1c], edx
mov dword [ebp + 0x20], edx
jmp 0x44de53
lea ecx, [edi + 1]
mov edi, ecx
mov edx, dword [esp + 0x9c]
cmp ecx, edx
jl 0x44d9fa
mov eax, dword [esp + 0xb4]
test eax, eax
jne 0x44e2ed
mov edx, dword [esp + 0x94]
lea esi, [edx + 1]
mov eax, dword [esp + 0xec]
cmp eax, esi
jle 0x44e001
mov eax, dword [ebx + 0x74]
cmp eax, 1
je 0x44e17e
mov edi, dword [esp + 0x94]
mov eax, edi
shl eax, 5
lea edx, [eax + edi*8]
mov ecx, dword [ebx + 0x4830]
mov eax, dword [ecx + edx + 0x28]
cmp eax, 0xffffffff
jne 0x44e150
mov edx, dword [ebx + 0x4834]
mov edi, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
cmp edi, eax
jge 0x44dfe6
mov dword [esp + 0xa8], edx
mov ebx, dword [esp + 0x110]
mov dword [esp + 0xac], esi
mov esi, eax
xor eax, eax
mov edx, dword [ebp]
test edx, edx
jle 0x44df9d
mov dword [esp + 0xb0], edi
mov ebx, eax
mov edi, dword [esp + 0xa8]
xor esi, esi
mov eax, dword [esp + ebx*4 + 0x60]
test eax, eax
jle 0x44df83
mov edx, dword [ebp + ebx*4 + 0x24]
mov ebp, dword [esp + 0x110]
nop
mov word [esp + 0x84], dx
mov eax, dword [esp + ebx*4 + 0x40]
mov ecx, dword [esp + ebx*4 + 0x30]
mov dword [esp], ebp
lea edx, [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], edi
call dword [eax + pe_nt_image_headers32]
movsx edx, word [esp + 0x84]
mov ecx, dword [esp + 0x114]
test eax, eax
mov dword [ecx + ebx*4 + 0x24], edx
jl 0x44e7dd
inc esi
cmp esi, dword [esp + ebx*4 + 0x60]
jl 0x44df20
mov ebp, dword [esp + 0x114]
mov edx, dword [ebp]
inc ebx
cmp ebx, edx
jl 0x44df0a
mov edi, dword [esp + 0xb0]
mov esi, dword [esp + 0xa0]
mov ebx, dword [esp + 0x110]
mov dword [esp], ebx
mov edx, dword [esp + 0xec]
mov eax, dword [esp + 0x94]
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
call fcn.0044a0c0
test eax, eax
jne 0x44e78d
inc edi
cmp edi, esi
jl 0x44deed
mov esi, dword [esp + 0xac]
mov ebx, dword [esp + 0x118]
mov dword [esp], esi
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
call fcn.0044a000
mov eax, dword [esp + 0xbc]
cmp esi, eax
mov dword [esp + 0x94], esi
jl 0x44d8a7
mov ebp, esi
mov esi, dword [esp + 0x9c]
mov edx, dword [esp + 0xc0]
test edx, edx
je 0x44e0d3
mov edx, dword [esp + 0xb4]
add edx, esi
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0xb4], edx
cmp ecx, edx
jge 0x44e0d3
mov dword [esp + 0x94], ebp
mov ebp, ecx
mov esi, dword [esp + 0xa0]
mov esi, esi
mov dword [esp], ebx
mov edi, dword [esp + 0x110]
mov eax, dword [esp + 0x114]
mov dword [esp + 4], edi
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0xf4]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x4834]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], esi
mov eax, dword [esp + 0xec]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x24], eax
mov al, byte [esp + 0xc4]
mov byte [esp + 0x28], al
call fcn.00448a60
inc ebp
mov eax, dword [esp + 0xb4]
cmp ebp, eax
jl 0x44e060
mov eax, dword [esp + 0xf8]
call dword [eax + 0x18]
mov eax, dword [ebx + 0x37d8]
cmp eax, dword [ebx + 0x37c0]
jge 0x44e0f7
mov eax, dword [ebx + 0x74]
cmp eax, 1
je 0x44e2e0
mov eax, 2
add esp, 0xfc
pop ebx
pop ebp
pop esi
pop edi
ret
mov dword [esp], ebp
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x114]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.00449ef0
test eax, eax
je 0x44d843
add esp, 0xfc
pop ebx
pop ebp
pop esi
pop edi
ret
lea ecx, [edi + 1]
jmp 0x44de53
mov dword [esp], esi
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
call fcn.00449ef0
test eax, eax
je 0x44e001
add esp, 0xfc
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [esp + 0x110]
mov eax, dword [edx + 0x38]
test eax, eax
je 0x44de98
mov edx, dword [ebx + 0x4834]
mov edi, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
cmp edi, eax
jge 0x44e001
mov dword [esp + 0xdc], edx
mov ebx, dword [esp + 0x110]
mov dword [esp + 0xac], esi
mov esi, eax
xor eax, eax
mov edx, dword [ebp]
test edx, edx
jle 0x44e281
mov dword [esp + 0xe0], edi
mov ebx, eax
mov edi, dword [esp + 0xdc]
mov dword [esp + 0xa0], esi
xor esi, esi
mov ecx, dword [esp + ebx*4 + 0x60]
test ecx, ecx
jle 0x44e263
mov edx, dword [ebp + ebx*4 + 0x24]
mov ebp, dword [esp + 0x110]
lea esi, [esi]
mov word [esp + 0x88], dx
mov edx, dword [esp + ebx*4 + 0x40]
mov ecx, dword [esp + ebx*4 + 0x30]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
lea edx, [esp + 0x88]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xf8]
mov dword [esp + 0x10], edi
call dword [edx + pe_nt_image_headers32]
movsx edx, word [esp + 0x88]
mov ecx, dword [esp + 0x114]
test eax, eax
mov dword [ecx + ebx*4 + 0x24], edx
jl 0x44e79d
inc esi
cmp esi, dword [esp + ebx*4 + 0x60]
jl 0x44e200
mov ebp, dword [esp + 0x114]
mov edx, dword [ebp]
inc ebx
cmp ebx, edx
jl 0x44e1e7
mov edi, dword [esp + 0xe0]
mov esi, dword [esp + 0xa0]
mov ebx, dword [esp + 0x110]
mov dword [esp], ebx
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0x94]
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edx
call fcn.0044a0c0
test eax, eax
jne 0x44e7cd
inc edi
cmp edi, esi
jl 0x44e1c3
mov dword [esp + 0xa0], esi
mov esi, dword [esp + 0xac]
mov ebx, dword [esp + 0x118]
jmp 0x44e001
xor eax, eax
add esp, 0xfc
pop ebx
pop ebp
pop esi
pop edi
ret
mov dword [esp], ebx
mov eax, dword [esp + 0x110]
mov esi, dword [esp + 0xf4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x94]
mov ecx, dword [ebx + 0x4834]
mov dword [esp + 8], ebp
mov edx, dword [esp + 0xec]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x11c]
mov dword [esp + 0x10], eax
mov al, byte [esp + 0xc4]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edi
mov byte [esp + 0x28], al
call fcn.00448a60
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x44de73
mov eax, dword [ebx + 0x74]
cmp eax, 1
je 0x44de73
xor eax, eax
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x20], eax
jmp 0x44de73
sub edi, dword [esp + 0xe4]
test edi, edi
jle 0x44e3e0
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0xf0]
sub ecx, dword [esp + 0x98]
mov esi, dword [esp + 0x11c]
cdq
idiv esi
imul ecx, eax
mov esi, dword [ebx + 0x30]
imul esi, dword [esp + 0xe8]
imul edi, esi
add ecx, dword [ebx + 0x20]
add ecx, edi
mov edi, dword [esp + 0x110]
mov dword [edi + 0x2c], ecx
mov edi, dword [ebp + 0x1c]
jmp 0x44d9de
xor edi, edi
jmp 0x44e38b
mov ecx, dword [esp + 0x110]
mov edx, dword [ecx + 0x38]
test edx, edx
je 0x44d5fa
mov edx, dword [ebx + 0x4834]
mov ecx, dword [esp + 0x114]
mov ecx, dword [ecx + 0x1c]
test ecx, ecx
jne 0x44d843
xor ecx, ecx
test ebp, ebp
jle 0x44d843
mov dword [esp + 0x8c], edx
mov eax, ebp
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x98], edi
mov edi, dword [esp + 0x114]
mov ebp, dword [esp + 0x110]
mov dword [esp + 0x9c], esi
xor esi, esi
test ebx, ebx
jle 0x44e55c
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
xor eax, eax
mov edx, dword [edi]
test edx, edx
jle 0x44e513
mov dword [esp + 0xa4], esi
mov esi, dword [esp + 0x8c]
mov dword [esp + 0xa0], ebx
mov ebx, eax
xor ebp, ebp
mov eax, dword [esp + ebx*4 + 0x60]
test eax, eax
jle 0x44e4f9
mov edx, dword [edi + ebx*4 + 0x24]
mov edi, dword [esp + 0x110]
mov word [esp + 0x74], dx
mov eax, dword [esp + ebx*4 + 0x40]
mov ecx, dword [esp + ebx*4 + 0x30]
mov dword [esp], edi
lea edx, [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call dword [eax + pe_nt_image_headers32]
movsx edx, word [esp + 0x74]
mov ecx, dword [esp + 0x114]
test eax, eax
mov dword [ecx + ebx*4 + 0x24], edx
jl 0x44e70f
inc ebp
cmp ebp, dword [esp + ebx*4 + 0x60]
jl 0x44e4a0
mov edi, dword [esp + 0x114]
mov edx, dword [edi]
inc ebx
cmp ebx, edx
jl 0x44e48b
mov esi, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x110]
mov dword [esp], ebp
mov edx, dword [esp + 0xec]
mov eax, dword [esp + 0x90]
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
call fcn.0044a0c0
test eax, eax
jne 0x44e71f
inc esi
cmp esi, ebx
jl 0x44e468
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x94]
inc ecx
cmp ecx, eax
jl 0x44e450
mov dword [esp + 0xa0], ebx
mov ebp, eax
mov edi, dword [esp + 0x98]
mov esi, dword [esp + 0x9c]
mov ebx, dword [esp + 0x118]
jmp 0x44d843
mov edx, dword [esp + 0xc0]
cmp edx, 2
jne 0x44d57e
mov edx, 1
mov dword [esp + 0xc0], edx
jmp 0x44d587
mov edx, dword [esp + 0xb8]
cmp edx, 2
jne 0x44d56c
mov edx, 1
mov dword [esp + 0xb4], edx
jmp 0x44d575
mov byte [esp + 0xc4], al
mov ebp, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
jmp 0x44d503
mov edx, dword [esp + 0xc0]
cmp edx, 1
jne 0x44d489
xor dl, dl
mov byte [esp + 0xc4], dl
jmp 0x44d503
mov ecx, ebp
lea eax, [ecx + ecx]
add eax, eax
add eax, eax
mov edi, dword [esp + 0x114]
mov esi, dword [edi + 0x34]
mov dword [esp + 0xbc], esi
mov ebp, dword [esi + 4]
cdq
idiv ebp
mov ecx, eax
mov ebp, dword [esp + 0xc0]
lea eax, [ebp + ebp]
add eax, eax
add eax, eax
mov edi, esi
mov esi, dword [edi + 8]
cdq
idiv esi
mov ebp, eax
mov edi, dword [esp + 0xf0]
imul edi, ebp
mov esi, dword [ebx + 0x4c]
mov dword [esp + 0xf0], edi
lea eax, [esi + ecx - 1]
cdq
idiv ecx
mov dword [esp + 0xa0], eax
mov eax, dword [ebx + 0x50]
mov esi, 1
cdq
xor eax, edx
sub eax, edx
lea eax, [eax + ebp - 1]
cdq
idiv ebp
mov dword [esp + 0xec], eax
mov dword [esp + 0xf4], esi
mov dword [esp + 0x60], 1
jmp 0x44d479
lea ebx, [edx + edx]
lea ebp, [ebx + ebx]
mov edi, dword [esp + 0xe0]
cmp edi, 1
je 0x44d3ca
mov ecx, dword [esp + 0x114]
mov dword [ecx + ebx*2 + 0x24], 0
mov ecx, dword [ecx]
mov ebx, dword [esp + 0x118]
mov edi, dword [ebx + 0x74]
mov dword [esp + 0xe0], edi
jmp 0x44d3ca
mov eax, dword [ebx + 0x74]
mov dword [esp + 0xe0], eax
jmp 0x44d414
mov eax, 0xffffffe7
add esp, 0xfc
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xffffffe7
add esp, 0xfc
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xffffffeb
add esp, 0xfc
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xffffffeb
add esp, 0xfc
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xffffffe7
add esp, 0xfc
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xffffffeb
add esp, 0xfc
pop ebx
pop ebp
pop esi
pop edi
ret
mov ebp, dword [esp + 0x94]
mov ecx, dword [esp + 0x114]
mov eax, 1
mov dword [ecx + 0x1c], edx
mov dword [ecx + 0x20], ebp
sub edi, dword [esp + 0xb4]
mov dword [ebx + 0xc], edi
sub ebp, dword [esp + 0xc0]
mov dword [ebx + 0x10], ebp
mov dword [ebx + 4], edi
mov dword [ebx + 8], ebp
add esp, 0xfc
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xffffffeb
add esp, 0xfc
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xffffffe7
add esp, 0xfc
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xffffffeb
add esp, 0xfc
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xffffffe7
add esp, 0xfc
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xffffffeb
add esp, 0xfc
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xffffffe7
add esp, 0xfc
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xffffffeb
add esp, 0xfc
pop ebx
pop ebp
pop esi
pop edi
ret