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

Disassembly:
push ebp
push ebx
push esi
push edi
add esp, 0xfffff700
mov edi, dword [esp + 0x914]
push 0x1f
push 0x5b30bc
push 0x3e9
lea eax, [esp + 0x520]
push eax
mov esi, dword [edi + 0xc]
mov word [esp + 0x524], 0x2a
call fcn.0041f450
push 2
push 0x46dcec
push 0x3e9
lea ecx, [esp + 0x520]
push ecx
call fcn.0041f450
test esi, esi
je 0x44cfce
xor ebp, ebp
mov dword [esp + 0xf4], 0
mov dword [esp + 0xfc], 0
push 0x3e9
lea eax, [esp + 0x518]
push eax
push 0x1f5
lea ecx, [esi + 0x34]
push ecx
call fcn.00437220
test al, al
je 0x44cfbf
test ebp, ebp
je 0x44cfb4
mov dword [ebx + 4], esi
jmp 0x44cfb6
mov ebp, esi
inc dword [esp + 0xfc]
mov ebx, esi
inc dword [esp + 0xf4]
mov esi, dword [esi]
test esi, esi
jne 0x44cf8c
jmp 0x44cfe6
xor ebp, ebp
mov dword [esp + 0xf4], 0
mov dword [esp + 0xfc], 0
test ebp, ebp
je 0x44cff1
mov dword [ebx + 4], 0
cmp dword [esp + 0xfc], 1
je 0x44d00b
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xb4], eax
jmp 0x44d016
mov dword [esp + 0xb4], 2
push 1
lea eax, [esp + 0x514]
push eax
mov ecx, dword [0x493dc4]
mov dword [esp + 0x108], ecx
mov al, byte [edi + 9]
push eax
call fcn.0043e900
cmp byte [esp + 0x510], 0x4d
je 0x44d0f1
cmp byte [esp + 0x510], 0x49
je 0x44d0b8
call fcn.00442c10
push 0xc8
push eax
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x108]
lea edx, [eax + ecx*2]
lea ebx, [edx*2 + 4]
push ebx
push 0
mov dl, byte [edi + 0xb]
push edx
call fcn.0043e810
mov dword [esp + 0xf8], eax
call fcn.0043feb0
push 0xc8
sub eax, dword [esp + 0x104]
push eax
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x108]
lea edx, [eax + ecx*4 + 4]
push edx
push 1
mov bl, byte [edi + 0xb]
push ebx
call fcn.0043e810
mov esi, eax
jmp 0x44d10b
push 0x1f
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x104]
lea esi, [eax + ecx*2]
lea edx, [edi + 0x10]
push edx
call fcn.0041f5d0
mov ecx, dword [0x493dc0]
imul ecx, eax
lea eax, [esi + ecx + 4]
mov dword [esp + 0xf8], eax
mov esi, dword [esp + 0x100]
jmp 0x44d10b
call fcn.00442c10
mov dword [esp + 0xf8], eax
call fcn.0043feb0
mov esi, eax
sub esi, dword [esp + 0x100]
mov eax, dword [esp + 0xf8]
cmp dword [0x4e4da4], eax
jae 0x44d127
mov ecx, dword [0x4e4da4]
mov dword [esp + 0xf8], ecx
cmp dword [0x4e4da0], esi
jae 0x44d135
mov esi, dword [0x4e4da0]
mov eax, esi
xor edx, edx
div dword [esp + 0x100]
mov ebx, eax
cmp dword [esp + 0xb4], ebx
jbe 0x44d152
mov dword [esp + 0xb4], ebx
push 0xe1
call fcn.00442be0
mov edx, eax
push 0
push 2
mov ecx, dword [esp + 0xbc]
add ecx, 2
push ecx
push dword [esp + 0x10c]
push dword [esp + 0x108]
lea eax, [esp + 0x51c]
push eax
mov dword [esp + 0x520], edx
call fcn.00445150
mov edx, dword [esp + 0x508]
mov ecx, dword [edx + 0x24]
mov dword [esp + 0x40], ecx
mov eax, dword [edx + 0x28]
mov dword [esp + 0x38], eax
mov ecx, dword [edx + 0x2c]
mov dword [esp + 0x34], ecx
mov al, byte [edi + 9]
mov byte [edx + 0x38], al
mov cl, byte [edi + 0xa]
mov byte [edx + 0x3a], cl
mov al, byte [edi + 0xb]
mov byte [edx + 0x39], al
mov ecx, dword [edx + 4]
mov eax, dword [ecx + 4]
mov dword [esp + 0xb8], eax
cmp eax, esi
jb 0x44d1d5
mov dword [esp + 0xb8], esi
mov eax, dword [ecx + 0xc]
mov dword [esp + 8], eax
mov dword [edx + 0x24], 0
mov dword [edx + 0x34], 0
mov byte [edx + 0x5b], 1
mov ebx, dword [esp + 0xb8]
mov dword [edx + 0x18], ebx
mov al, byte [0x493df0]
test al, al
je 0x44d221
mov word [esp + 0xe8], 2
mov word [esp + 0xe4], 2
mov word [esp + 0xe0], 2
jmp 0x44d249
mov eax, dword [0x493df4]
mov word [esp + 0xe8], ax
mov ebx, dword [0x493df8]
mov word [esp + 0xe4], bx
mov eax, dword [0x493dfc]
mov word [esp + 0xe0], ax
mov eax, dword [esp + 0xb8]
dec eax
mov dword [esp + 0xdc], eax
inc eax
mov dword [esp + 0x70], eax
mov ebx, dword [esp + 8]
dec ebx
mov dword [esp + 0xd8], ebx
dec ebx
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x70]
mov dword [esp + 0x64], eax
mov dword [esp + 0x94], 0
jmp 0x44d288
mov dword [esp + 0x64], eax
cmp dword [esp + 8], 1
je 0x44d392
test byte [esp + 0x18], 1
je 0x44d2a7
mov dword [esp + 0xec], 1
jmp 0x44d2ec
mov eax, dword [ecx + 8]
add eax, dword [ecx]
mov ebx, dword [esp + 0x94]
mov esi, dword [esp + 0xe8]
mov word [ebx + eax], si
mov esi, dword [esp + 0xe4]
mov word [ebx + eax + 2], si
mov esi, dword [esp + 0xe0]
mov word [ebx + eax + 4], si
cmp dword [esp + 8], 2
je 0x44d392
mov dword [esp + 0xec], 2
mov eax, dword [esp + 0xd8]
sub eax, dword [esp + 0xec]
shr eax, 1
inc eax
mov dword [esp + 0x5c], eax
mov ebx, dword [ecx]
mov dword [esp + 0x44], ebx
mov esi, dword [ecx + 8]
mov eax, dword [esp + 0x44]
add eax, dword [esp + 0x94]
mov dword [esp + 0x1c], eax
mov ebx, dword [esp + 0xec]
imul ebx, esi
mov dword [esp + 0x78], ebx
jmp 0x44d330
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x1c]
add eax, dword [esp + 0x78]
mov ebx, dword [esp + 0xe8]
mov word [eax], bx
mov ebx, dword [esp + 0xe4]
mov word [eax + 2], bx
mov ebx, dword [esp + 0xe0]
mov word [eax + 4], bx
mov ebx, dword [esp + 0xe8]
mov word [eax + esi], bx
mov ebx, dword [esp + 0xe4]
mov word [eax + esi + 2], bx
mov ebx, dword [esp + 0xe0]
mov word [eax + esi + 4], bx
mov eax, dword [esp + 0x78]
lea ebx, [eax + esi*2]
mov dword [esp + 0x78], ebx
mov eax, dword [esp + 0x5c]
dec eax
cmp dword [esp + 0x5c], 1
jne 0x44d32c
add dword [esp + 0x94], 6
mov eax, dword [esp + 0x64]
dec eax
cmp dword [esp + 0x64], 1
jne 0x44d284
mov ebx, dword [esp + 0x100]
lea esi, [ebx*4]
cmp dword [esp + 0xb8], esi
jbe 0x44d44f
mov eax, dword [edx + 0x4c]
test eax, eax
jle 0x44d3d9
mov ecx, dword [edi]
imul ecx, ebx
shl ecx, 8
add eax, ecx
mov dword [edx + 0x4c], eax
mov dword [edi], 0
mov eax, dword [esp + 0xfc]
imul eax, ebx
push eax
mov dword [edx + 0x40], eax
mov ecx, dword [esp + 0xbc]
sub ecx, esi
push ecx
push dword [edx + 0x4c]
mov dword [esp + 0xc], edx
call fcn.0044cd50
mov edx, dword [esp]
sar eax, 8
mov dword [esp + 0x504], eax
mov dword [edx + 0x34], eax
cmp eax, ebx
jb 0x44d9f9
test ebp, ebp
je 0x44d9f9
jmp 0x44d430
test ebp, ebp
je 0x44d9f9
mov ebp, dword [ebp + 4]
mov eax, dword [esp + 0x100]
sub dword [esp + 0x504], eax
cmp dword [esp + 0x504], eax
jae 0x44d428
jmp 0x44d9f9
cmp dword [esp + 0xb8], 1
je 0x44d4b4
mov eax, dword [ecx]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xdc]
mov ebx, 6
jmp 0x44d472
mov eax, ebp
mov ebp, dword [esp + 4]
add ebp, ebx
mov word [ebp], 0x12c
mov word [ebp + 2], 0x12c
mov word [ebp + 4], 0x12c
mov esi, dword [ecx + 8]
imul esi, dword [esp + 0xd8]
mov word [esi + ebp], 0
mov word [esi + ebp + 2], 0
mov word [esi + ebp + 4], 0
add ebx, 6
lea ebp, [eax - 1]
cmp eax, 1
jne 0x44d470
mov eax, dword [esp + 8]
add eax, 0xfffffffe
cmp dword [esp + 8], 2
je 0x44d51b
mov ebx, dword [ecx]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x58], ecx
mov ebp, dword [esp + 0xb8]
mov esi, dword [esp + 0xb8]
lea ecx, [ebp + esi*2]
mov ebp, dword [esp + 0x58]
jmp 0x44d4e6
mov eax, esi
lea esi, [ebx + ebp]
mov word [esi + ecx*2 - 6], 0x12c
mov word [esi + ecx*2 - 4], 0x12c
mov word [esi + ecx*2 - 2], 0x12c
mov word [esi], 0
mov word [esi + 2], 0
mov word [esi + 4], 0
add ebp, dword [esp + 0x58]
lea esi, [eax - 1]
cmp eax, 1
jne 0x44d4e4
push dword [esp + 0x100]
mov esi, dword [esp + 0x104]
shr esi, 1
mov ebp, dword [esp + 0xe0]
sub ebp, esi
push ebp
mov ebx, dword [esp + 0xe0]
sub ebx, esi
push ebx
push dword [edx + 4]
mov dword [esp + 0x10], edx
call fcn.0044c980
mov edx, dword [esp]
cmp byte [esp + 0x510], 0x4d
je 0x44d57c
push dword [esp + 0x100]
push ebp
mov eax, ebx
sub eax, dword [esp + 0x108]
push eax
push dword [edx + 4]
mov dword [esp + 0x10], edx
call fcn.0044ca20
mov edx, dword [esp]
jmp 0x44d59d
push dword [esp + 0x100]
push ebp
mov eax, ebx
sub eax, dword [esp + 0x108]
push eax
push dword [edx + 4]
mov dword [esp + 0x10], edx
call fcn.0044cb50
mov edx, dword [esp]
cmp byte [esp + 0x510], 0x49
je 0x44d5da
push dword [esp + 0x100]
mov eax, dword [esp + 0xbc]
sub eax, esi
push eax
mov ecx, dword [esp + 0x108]
lea eax, [ecx*2]
sub ebx, eax
push ebx
push dword [edx + 4]
mov dword [esp + 0x10], edx
call fcn.0044cc80
mov edx, dword [esp]
jmp 0x44d602
push dword [esp + 0x100]
push ebp
mov eax, dword [esp + 0x108]
lea ecx, [eax*2]
sub ebx, ecx
push ebx
push dword [edx + 4]
mov dword [esp + 0x10], edx
call fcn.0044cb50
mov edx, dword [esp]
cmp byte [esp + 0x510], 0x49
je 0x44d906
mov eax, dword [esp + 0xdc]
sub eax, dword [esp + 0x100]
mov dword [esp + 0x4f0], eax
cmp byte [0x5b0f30], 0x4d
jne 0x44d639
mov dword [esp + 0x514], 0x726c43
cmp byte [0x5b0f30], 0x4c
jne 0x44d674
mov cl, byte [0x5b2f80]
test cl, cl
je 0x44d661
mov dword [esp + 0x514], 0x34322d30
mov byte [esp + 0x518], 0
jmp 0x44d674
mov dword [esp + 0x514], 0x5a2e2e41
mov byte [esp + 0x518], 0
push 0xb
push str.__FILTER:_
push 0x3e9
lea ecx, [esp + 0x520]
push ecx
mov dword [esp + 0x10], edx
call fcn.0041f450
mov edx, dword [esp]
push 0x3e9
lea eax, [esp + 0x518]
push eax
mov esi, dword [0x5b30dc]
mov dword [esp + 8], edx
call fcn.0041f5d0
mov edx, dword [esp]
push 0x1f
push 0x5b30bc
push 0x3e9
lea ecx, [esp + 0x520]
push ecx
lea ebx, [esi + eax]
mov dword [esp + 0x10], edx
call fcn.0041f450
mov edx, dword [esp]
push 2
push 0x46dcc8
push 0x3e9
lea eax, [esp + 0x520]
push eax
mov dword [esp + 0x10], edx
call fcn.0041f450
mov edx, dword [esp]
lea ecx, [esp + 0x4f0]
push ecx
push 0
push 0x2bc
push dword [esp + 0x10c]
push 0x3e9
lea eax, [esp + 0x528]
push eax
push dword [edx + 4]
mov dword [esp + 0x1c], edx
call fcn.00443ac0
mov edx, dword [esp]
mov byte [esp + ebx + 0x514], 0x5f
mov byte [esp + ebx + 0x515], 0
test ebx, ebx
je 0x44d752
mov eax, ebx
jmp 0x44d742
mov eax, ebx
lea ebx, [eax - 1]
mov byte [esp + ebx + 0x514], 0x20
cmp eax, 1
jne 0x44d740
lea eax, [esp + 0x4f0]
push eax
push 0
push 0x2bc
push dword [esp + 0x10c]
push 0x3e9
lea ecx, [esp + 0x528]
push ecx
push dword [edx + 4]
mov dword [esp + 0x1c], edx
call fcn.00443ac0
mov edx, dword [esp]
push 0x1f
add edi, 0x10
push edi
push 0x3e9
lea eax, [esp + 0x520]
push eax
mov dword [esp + 0x10], edx
call fcn.0041f400
mov edx, dword [esp]
push 3
push 0x46dcc4
push 0x3e9
lea ecx, [esp + 0x520]
push ecx
mov dword [esp + 0x10], edx
call fcn.0041f450
mov edx, dword [esp]
push 0x3e9
lea eax, [esp + 0x108]
push eax
push 0
push dword [esp + 0x108]
mov dword [esp + 0x10], edx
call fcn.0041f600
mov edx, dword [esp]
push 0x3e9
lea ecx, [esp + 0x108]
push ecx
push 0x3e9
lea eax, [esp + 0x520]
push eax
mov dword [esp + 0x10], edx
call fcn.0041f450
mov edx, dword [esp]
push 2
push 0x46dcc0
push 0x3e9
lea ecx, [esp + 0x520]
push ecx
mov dword [esp + 0x10], edx
call fcn.0041f450
mov edx, dword [esp]
push 0x3e9
lea eax, [esp + 0x108]
push eax
push 0
push dword [esp + 0x100]
mov dword [esp + 0x10], edx
call fcn.0041f600
mov edx, dword [esp]
push 0x3e9
lea ecx, [esp + 0x108]
push ecx
push 0x3e9
lea eax, [esp + 0x520]
push eax
mov dword [esp + 0x10], edx
call fcn.0041f450
mov edx, dword [esp]
push 2
push 0x46dcbc
push 0x3e9
lea ecx, [esp + 0x520]
push ecx
mov dword [esp + 0x10], edx
call fcn.0041f450
mov edx, dword [esp]
push 0x3e9
lea eax, [esp + 0x518]
push eax
mov dword [esp + 8], edx
call fcn.0041f5d0
mov edx, dword [esp]
mov ecx, dword [0x493dc0]
imul ecx, eax
mov eax, dword [esp + 0x100]
mov ebx, dword [esp + 0x100]
lea ebp, [eax + ebx*2]
lea esi, [ecx + ebp*2]
cmp dword [esp + 8], esi
jbe 0x44d93b
lea ebp, [esp + 0x4f0]
push ebp
push 0
push 0x2bc
mov esi, dword [esp + 0x14]
sub esi, ecx
shr esi, 1
push esi
push 0x3e9
lea ecx, [esp + 0x528]
push ecx
push dword [edx + 4]
mov dword [esp + 0x1c], edx
call fcn.00443ac0
mov edx, dword [esp]
jmp 0x44d93b
lea eax, [esp + 0x50c]
push eax
push 0
push 0x2bc
push 2
push 0x1f
add edi, 0x10
push edi
push dword [edx + 4]
mov dword [esp + 0x528], 0
mov dword [esp + 0x1c], edx
call fcn.00443ac0
mov edx, dword [esp]
mov byte [edx + 0x3a], 0x90
mov edi, dword [edx + 0x24]
mov eax, dword [esp + 0x40]
mov dword [edx + 0x24], eax
mov dword [edx + 0x30], 0xe1
mov dword [edx + 0x3c], 0x7fffffff
mov ecx, dword [0x4e4da4]
cmp dword [esp + 0xf8], ecx
jae 0x44d972
mov ebx, ecx
sub ebx, dword [esp + 0xf8]
mov eax, ebx
shr eax, 1
jmp 0x44d974
xor eax, eax
mov bl, byte [0x493854]
test bl, bl
je 0x44d98d
mov ebx, dword [0x493dc4]
mov dword [esp + 0x504], ebx
jmp 0x44d998
mov dword [esp + 0x504], 0
push dword [esp + 0x504]
push eax
push edx
mov dword [esp + 0xc], edx
call fcn.00448dc0
mov edx, dword [esp]
mov eax, dword [esp + 0x34]
mov dword [edx + 0x2c], eax
mov ecx, dword [edx + 0x28]
cmp ecx, 0
jbe 0x44d9ec
cmp edi, ecx
jb 0x44d9ec
cmp ecx, 0x3c
ja 0x44d9e0
bt dword [edx + 0xba4], ecx
jae 0x44d9e0
push 0
push 1
push ecx
push edx
mov dword [esp + 0x10], edx
call fcn.00448c90
mov edx, dword [esp]
push dword [edx + 0x28]
push dword [edx + 0x2c]
push edx
call fcn.00448f70
sub esp, 0xfffff700
pop edi
pop esi
pop ebx
pop ebp
ret 4
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x44da4d
mov esi, dword [esp + 0xb4]
mov ebx, ebp
xor ecx, ecx
jmp 0x44da18
mov esi, ecx
mov ecx, eax
test ebx, ebx
je 0x44da3f
mov al, byte [ebx + 0x34]
test al, al
je 0x44da32
xor eax, eax
cmp esp, 0
inc eax
cmp byte [ebx + eax + 0x34], 0
jne 0x44da28
jmp 0x44da34
xor eax, eax
cmp ecx, eax
jb 0x44da3a
mov eax, ecx
mov ebx, dword [ebx + 4]
jmp 0x44da41
mov eax, ecx
lea ecx, [esi - 1]
cmp esi, 1
jne 0x44da14
mov ecx, eax
jmp 0x44da4f
xor ecx, ecx
mov eax, dword [0x493dc0]
imul eax, ecx
push eax
mov dword [edx + 0x44], eax
mov ecx, dword [esp + 0x104]
mov eax, dword [esp + 0x104]
lea ebx, [ecx + eax*2]
mov dword [esp + 0x14], ebx
mov esi, dword [esp + 0xc]
sub esi, ebx
push esi
push dword [edx + 0x48]
mov dword [esp + 0xc], edx
call fcn.0044cd50
mov edx, dword [esp]
sar eax, 8
mov ecx, dword [0x493dc0]
lea esi, [eax + ecx - 1]
push eax
push edx
mov eax, esi
xor edx, edx
div ecx
mov dword [esp + 0xd0], eax
pop edx
pop eax
push edx
xor edx, edx
div ecx
mov ebx, edx
pop edx
mov eax, ecx
sub eax, ebx
push edx
xor edx, edx
div ecx
mov dword [esp + 0x500], edx
pop edx
mov ecx, dword [esp + 0x100]
sub ecx, dword [esp + 0x504]
mov dword [esp + 0x504], ecx
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x44dcf5
mov ebx, dword [esp + 0x4fc]
add ebx, 2
mov dword [esp + 0x3c], ebx
mov esi, dword [esp + 0xb4]
mov dword [esp + 0x68], esi
jmp 0x44db00
mov dword [esp + 0x68], eax
test ebp, ebp
je 0x44dce5
mov byte [esp + 0x514], 0
xor ebx, ebx
mov esi, dword [esp + 0xc8]
jmp 0x44db1d
inc ebx
cmp ebx, esi
jae 0x44db2b
cmp byte [ebx + ebp + 0x34], 0x81
jbe 0x44db41
inc esi
jmp 0x44db41
mov eax, ebx
sub eax, esi
cmp eax, 0x3e8
jae 0x44db41
mov cl, byte [ebx + ebp + 0x34]
mov byte [esp + eax + 0x514], cl
mov al, byte [ebx + ebp + 0x34]
test al, al
jne 0x44db1c
mov al, byte [esp + 0x514]
test al, al
je 0x44dcd4
mov ecx, dword [esp + 0xc8]
test ecx, ecx
jne 0x44dc65
mov cl, byte [ebp + 0x20]
test cl, cl
je 0x44dc65
mov word [esp + 0x4f4], 0x32
mov word [esp + 0x4f6], 0x32
mov word [esp + 0x4f8], 0x32
cmp al, 0x31
je 0x44dc00
cmp al, 0x32
je 0x44dbe0
cmp al, 0x33
je 0x44dbc0
cmp al, 0x34
jne 0x44dc1e
mov word [esp + 0x4f4], 0xc8
mov word [esp + 0x4f6], 0
mov word [esp + 0x4f8], 0x1f4
jmp 0x44dc1e
mov word [esp + 0x4f4], 0x96
mov word [esp + 0x4f6], 0x12c
mov word [esp + 0x4f8], 0x32
jmp 0x44dc1e
mov word [esp + 0x4f4], 0
mov word [esp + 0x4f6], 0xc8
mov word [esp + 0x4f8], 0x190
jmp 0x44dc1e
mov word [esp + 0x4f4], 0xc8
mov word [esp + 0x4f6], 0xc8
mov word [esp + 0x4f8], 0
mov eax, dword [esp + 0x504]
mov ecx, dword [esp + 0x100]
lea eax, [eax + ecx - 1]
push eax
mov ecx, dword [0x493dc0]
mov eax, dword [esp + 0x500]
lea ecx, [eax + ecx + 3]
push ecx
push dword [esp + 0x50c]
push dword [esp + 0x48]
lea eax, [esp + 0x504]
push eax
push dword [edx + 4]
mov dword [esp + 0x18], edx
call fcn.00445d40
mov edx, dword [esp]
push 0x3e9
lea eax, [esp + 0x518]
push eax
mov dword [esp + 8], edx
call fcn.0044ce20
mov edx, dword [esp]
lea ecx, [esp + 0x504]
push ecx
push 0
push 0x3e8
push dword [esp + 0x48]
push 0x3e9
lea eax, [esp + 0x528]
push eax
push dword [edx + 4]
mov dword [esp + 0x1c], edx
call fcn.00443ac0
mov edx, dword [esp]
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
push dword [esp + 0xd0]
push dword [esp + 0x510]
push dword [esp + 0x4c]
push dword [edx + 4]
mov dword [esp + 0x18], edx
call fcn.0044ceb0
mov edx, dword [esp]
mov ebp, dword [ebp + 4]
mov eax, dword [esp + 0x100]
add dword [esp + 0x504], eax
mov eax, dword [esp + 0x68]
dec eax
cmp dword [esp + 0x68], 1
jne 0x44dafc
mov eax, dword [esp + 0x38]
mov dword [edx + 0x28], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x30], ecx
mov ebx, dword [ecx]
mov dword [esp + 0x2c], ebx
mov ebp, dword [esp + 0xd8]
sub ebp, dword [esp + 0x100]
mov dword [esp + 0x28], ebp
mov esi, dword [esp + 8]
sub esi, dword [esp + 0x100]
mov dword [esp + 0xa0], esi
mov eax, dword [esp + 8]
add eax, 0xfffffffe
mov dword [esp + 0x24], eax
mov ecx, eax
sub ecx, esi
mov dword [esp + 0x20], ecx
inc esi
mov dword [esp + 0xd0], esi
mov dword [esp + 0x9c], 0
jmp 0x44dd5c
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x2c]
add eax, dword [esp + 0x9c]
mov word [eax], 0x12c
mov word [eax + 2], 0x12c
mov word [eax + 4], 0x12c
mov ecx, dword [esp + 0x30]
mov ebx, dword [ecx + 8]
mov dword [esp + 0xac], ebx
mov ebp, dword [esp + 0x28]
imul ebp, ebx
mov word [eax + ebp], 0x12c
mov word [eax + ebp + 2], 0x12c
mov word [eax + ebp + 4], 0x12c
mov esi, dword [esp + 0xa0]
cmp dword [esp + 0x24], esi
jb 0x44de99
test byte [esp + 0x20], 1
je 0x44ddc9
mov ebp, dword [esp + 0xa0]
mov dword [esp + 0xcc], ebp
jmp 0x44de10
mov ebp, dword [esp + 0xa0]
imul ebp, ebx
mov ecx, dword [esp + 0xe8]
mov word [eax + ebp], cx
mov ebx, dword [esp + 0xe4]
mov word [eax + ebp + 2], bx
mov ecx, dword [esp + 0xe0]
mov word [eax + ebp + 4], cx
mov ebp, dword [esp + 0x20]
test ebp, ebp
je 0x44de99
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0xcc]
shr ecx, 1
inc ecx
mov ebx, dword [esp + 0xcc]
imul ebx, dword [esp + 0xac]
mov dword [esp + 0x6c], ebx
jmp 0x44de36
mov ecx, ebx
mov ebx, dword [esp + 0x6c]
add ebx, eax
mov ebp, dword [esp + 0xe8]
mov word [ebx], bp
mov esi, dword [esp + 0xe4]
mov word [ebx + 2], si
mov ebp, dword [esp + 0xe0]
mov word [ebx + 4], bp
mov esi, dword [esp + 0xac]
mov ebp, dword [esp + 0xe8]
mov word [ebx + esi], bp
mov ebp, dword [esp + 0xe4]
mov word [ebx + esi + 2], bp
mov ebp, dword [esp + 0xe0]
mov word [ebx + esi + 4], bp
mov ebx, dword [esp + 0x6c]
lea ebp, [ebx + esi*2]
mov dword [esp + 0x6c], ebp
lea ebx, [ecx - 1]
cmp ecx, 1
jne 0x44de34
mov ecx, dword [esp + 0xd8]
imul ecx, dword [esp + 0xac]
mov word [eax + ecx], 0x14
mov word [eax + ecx + 2], 0x14
mov word [eax + ecx + 4], 0
add dword [esp + 0x9c], 6
mov eax, dword [esp + 0x70]
dec eax
cmp dword [esp + 0x70], 1
jne 0x44dd58
cmp dword [esp + 8], 1
je 0x44e169
mov ecx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb8]
lea ebp, [ecx + ebx*2]
mov esi, dword [esp + 0xdc]
sub esi, dword [esp + 0x100]
mov dword [esp + 0x88], esi
add ecx, 0xfffffffe
mov dword [esp + 0x14], ecx
mov eax, ecx
sub eax, esi
inc eax
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x88]
lea eax, [esi + ecx*2]
lea ecx, [eax*2]
mov dword [esp + 0x7c], ecx
mov eax, ebx
sub eax, dword [esp + 0x100]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x100]
dec eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x50], eax
mov dword [esp + 0xbc], 1
mov ebx, dword [esp + 0xac]
mov dword [esp + 0x8c], ebx
jmp 0x44df6c
mov dword [esp + 0x50], esi
mov eax, dword [esp + 0x2c]
add eax, dword [esp + 0x8c]
mov word [eax + ebp*2 - 6], 0x12c
mov word [eax + ebp*2 - 4], 0x12c
mov word [eax + ebp*2 - 2], 0x12c
mov ebx, dword [esp + 0x88]
cmp dword [esp + 0x14], ebx
jb 0x44e056
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x48], ebx
mov esi, dword [esp + 0x88]
mov dword [esp + 0xc4], esi
mov esi, dword [esp + 0x7c]
jmp 0x44dfce
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x504]
mov dword [esp + 0xc4], ebx
cmp dword [esp + 0xbc], 2
jb 0x44dffb
mov ebx, dword [esp + 0x100]
cmp dword [esp + 0xbc], ebx
jae 0x44e011
mov ebx, dword [esp + 0xb8]
sub ebx, dword [esp + 0xc4]
cmp ebx, 3
jae 0x44e011
mov word [eax + esi], 0xfa
mov word [eax + esi + 2], 0xfa
mov word [eax + esi + 4], 0xfa
jmp 0x44e034
mov ebx, dword [esp + 0xe8]
mov word [eax + esi], bx
mov ebx, dword [esp + 0xe4]
mov word [eax + esi + 2], bx
mov ebx, dword [esp + 0xe0]
mov word [eax + esi + 4], bx
mov ebx, dword [esp + 0xc4]
inc ebx
mov dword [esp + 0x504], ebx
add esi, 6
mov ebx, dword [esp + 0x48]
dec ebx
cmp dword [esp + 0x48], 1
jne 0x44dfbc
mov word [eax + ecx*2], 0x14
mov word [eax + ecx*2 + 2], 0x14
mov word [eax + ecx*2 + 4], 0
mov word [eax], 0x14
mov word [eax + 2], 0x14
mov word [eax + 4], 0
cmp dword [esp + 0x100], 1
je 0x44e12c
mov ebx, dword [esp + 0xbc]
add ebx, dword [esp + 0x100]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x504], 1
mov esi, 6
jmp 0x44e0bc
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x24]
cmp dword [esp + 0xbc], ebx
jae 0x44e102
mov ebx, dword [esp + 8]
cmp dword [esp + 0xc], ebx
jb 0x44e0dd
cmp dword [esp + 0x504], 3
jb 0x44e102
mov ebx, dword [esp + 0xe8]
mov word [eax + esi], bx
mov ebx, dword [esp + 0xe4]
mov word [eax + esi + 2], bx
mov ebx, dword [esp + 0xe0]
mov word [eax + esi + 4], bx
jmp 0x44e116
mov word [eax + esi], 0xfa
mov word [eax + esi + 2], 0xfa
mov word [eax + esi + 4], 0xfa
inc dword [esp + 0x504]
add esi, 6
mov ebx, dword [esp + 0x54]
dec ebx
cmp dword [esp + 0x54], 1
jne 0x44e0b8
mov ebx, dword [esp + 0x10]
mov word [eax + ebx*2], 0x96
mov word [eax + ebx*2 + 2], 0x96
mov word [eax + ebx*2 + 4], 0x96
inc dword [esp + 0xbc]
mov eax, dword [esp + 0xac]
add dword [esp + 0x8c], eax
mov esi, dword [esp + 0x50]
dec esi
cmp dword [esp + 0x50], 1
jne 0x44df68
push dword [edx + 0x40]
push dword [edx + 0x4c]
mov eax, dword [esp + 0x108]
lea esi, [eax*2]
mov ecx, dword [esp + 0xc0]
sub ecx, esi
push ecx
push esi
lea ebx, [esp + 0x510]
push ebx
lea ecx, [esp + 0x510]
push ecx
mov dword [esp + 0x18], edx
call fcn.0044cd80
mov edx, dword [esp]
mov eax, dword [esp + 0x500]
push eax
push dword [esp + 0x104]
push dword [esp + 0x504]
push dword [esp + 0xac]
push dword [edx + 4]
mov dword [esp + 0x14], edx
call fcn.0044c650
mov edx, dword [esp]
push dword [edx + 0x44]
push dword [edx + 0x48]
mov ebp, dword [esp + 0x10]
sub ebp, esi
push ebp
push dword [esp + 0x10c]
lea ecx, [esp + 0x510]
push ecx
lea eax, [esp + 0x510]
push eax
mov dword [esp + 0x18], edx
call fcn.0044cd80
mov edx, dword [esp]
push dword [esp + 0x100]
mov eax, dword [esp + 0x504]
push eax
push 0
push dword [esp + 0x508]
push dword [edx + 4]
mov dword [esp + 0x14], edx
call fcn.0044c650
mov edx, dword [esp]
push 0x57
push dword [esp + 0x104]
mov esi, dword [esp + 0x108]
shr esi, 1
lea ebx, [esi + 1]
push ebx
push esi
push dword [edx + 4]
mov dword [esp + 0x14], edx
call fcn.0044c7d0
mov edx, dword [esp]
push 0x45
push dword [esp + 0x104]
push ebx
add ebp, esi
push ebp
push dword [edx + 4]
mov dword [esp + 0x14], edx
call fcn.0044c7d0
mov edx, dword [esp]
push 0x4e
push dword [esp + 0x104]
add ebx, dword [esp + 0x108]
push ebx
mov ebp, dword [esp + 0xe4]
sub ebp, esi
push ebp
push dword [edx + 4]
mov dword [esp + 0x14], edx
call fcn.0044c7d0
mov edx, dword [esp]
push 0x53
push dword [esp + 0x104]
mov ecx, dword [esp + 0xe4]
sub ecx, dword [esp + 0x108]
sub ecx, esi
push ecx
push ebp
push dword [edx + 4]
mov dword [esp + 0x14], edx
call fcn.0044c7d0
mov edx, dword [esp]
jmp 0x44d51b