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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x144]
cmp eax, dword [ecx + 8]
jbe 0x44a556
sub esp, 0x1c4
mov eax, dword [esp + 0x1d8]
test eax, eax
jle 0x4492be
mov ecx, dword [esp + 0x1e4]
test ecx, ecx
je 0x4492c5
jmp 0x44a53f
mov ecx, dword [esp + 0x1e4]
mov edx, dword fs:[0x14]
mov edx, dword [edx]
mov ebx, dword [esp + 0x1d4]
cmp ebx, edx
jne 0x4492e9
mov ebp, dword [edx + 0x18]
cmp dword [ebp + 0x50], edx
je 0x44a529
call fcn.0043b7a0
mov eax, dword [esp]
cmp eax, 2
mov ecx, dword [esp + 0x1c8]
cmp ecx, 0xffffffff
jne 0x44932c
mov edx, dword [esp + 0x1cc]
cmp edx, 0xffffffff
jne 0x449333
mov ecx, dword [esp + 0x1d4]
mov edx, dword [ecx + 0x38]
test edx, edx
je 0x449321
mov ebx, dword [ecx + 0x3c]
xor ebp, ebp
jmp 0x449343
mov ebx, dword [ecx + 0x20]
mov edx, dword [ecx + 0x1c]
mov ebp, dword [ecx + 0x28]
jmp 0x449343
mov edx, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1d4]
mov ebx, dword [esp + 0x1c8]
xor ebp, ebp
mov dword [esp + 0x68], eax
lea edi, [esp + 0x198]
mov esi, eax
xor eax, eax
call fcn.00451aa5
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x1ac], edx
mov ecx, dword [esp + 0x1d4]
mov edi, esi
mov esi, dword [ecx + 0xcc]
mov ecx, dword [ecx + 0xd0]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x1dc]
test ecx, ecx
je 0x449393
xor eax, eax
mov byte [esp + 0x24], al
xor eax, eax
jmp 0x4493b1
mov edi, dword [esp + 0x1e4]
test edi, edi
setne cl
xor ecx, 1
mov edi, dword [esp + 0x68]
mov byte [esp + 0x24], cl
mov ecx, dword [esp + 0x1dc]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], edx
mov dword [esp + 0x180], esi
mov dword [esp + 0x17c], ebp
test ebx, ebx
jne 0x4493e2
mov edx, dword [edx]
mov dword [esp + 0x1a0], edx
mov edx, dword [esp + 0x60]
lea edi, [edx + 4]
mov dword [esp + 0x1ac], edi
mov eax, dword [esp + 0x1a0]
mov dword [esp], eax
call fcn.00443b80
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
test eax, eax
je 0x44945c
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], ecx
lea edi, [esp + 0x9c]
xor eax, eax
call fcn.00451a80
mov ecx, dword [esp + 0x1d4]
mov ebx, dword [esp + 0x1e0]
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x1d8]
mov edi, dword [esp + 0x180]
xor eax, eax
mov dword [esp + 0x3c], eax
xor eax, eax
mov byte [esp + 0x23], al
xor eax, eax
mov byte [esp + 0x25], al
xor eax, eax
mov dword [esp + 0x34], eax
xor eax, eax
jmp 0x44952c
mov eax, dword [esp + 0x1e4]
test eax, eax
jne 0x449476
movzx ecx, byte [esp + 0x24]
test cl, cl
je 0x449474
test eax, eax
jmp 0x449476
test eax, eax
jne 0x44948a
mov dword [esp + 0x1f0], 0
add esp, 0x1c4
ret
lea eax, [0x58d67e]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call fcn.0042e5b0
mov dword [esp + 0x198], ebx
mov ebx, dword [esp + 0x170]
mov dword [esp + 0x19c], ebx
mov ebx, dword [esp + 0x1a8]
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x1a8], 0
mov ebx, dword [esp + 0x1b0]
mov dword [esp + 0x1ac], ebx
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1c0], 0
sete bl
mov ebp, dword [esp + 0x1e0]
mov esi, dword [esp + 0x60]
mov ebp, esi
mov eax, dword [esp + 0x50]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x6c], ecx
xor ecx, ecx
mov dword [esp + 0x17c], ecx
mov byte [esp + 0x23], bl
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x1e0]
xor eax, eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x3c]
cmp ebx, esi
jle 0x449ec6
mov ebx, dword [esp + 0x198]
mov esi, dword [esp + 0x19c]
mov dword [esp + 0x194], esi
mov esi, dword [ebx + 0x10]
test esi, esi
je 0x449eb5
mov dword [esp + 0x190], ebx
movzx esi, byte [ebx + 0x25]
movzx ebx, byte [ebx + 0x24]
cmp bl, 4
jne 0x449573
and esi, 0xfffffffd
cmp dword [esp + 0x1a0], edx
jne 0x449592
cmp dword [esp + 0x1ac], ebp
jne 0x449592
cmp dword [ecx + 0x3c], edx
jne 0x449592
cmp dword [ecx + 0x38], ebp
jne 0x449592
and esi, 0xfffffffd
mov ebp, dword [esp + 0x1b0]
test ebp, ebp
je 0x4495b0
mov ebx, dword [esp + 0x190]
mov ebp, dword [esp + 0x194]
jmp 0x44976e
mov ebp, dword [esp + 0x1ec]
test ebp, 4
je 0x4496c5
mov eax, dword [ecx + 0x18]
cmp dword [eax], ecx
jne 0x4496c5
mov eax, dword [eax + 0x50]
test eax, eax
je 0x4496c5
cmp bl, 0xc
je 0x449641
cmp bl, 0x13
jne 0x449623
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x1ac], eax
mov eax, dword [ecx + 0x18]
mov eax, dword [eax + 0x50]
mov edi, dword [eax + 0xcc]
mov eax, dword [eax + 0xd0]
and esi, 0xfffffffd
mov ebx, dword [esp + 0x190]
mov ebx, dword [esp + 0x194]
mov dword [esp + 0x174], ebx
mov ebx, dword [esp + 0x190]
jmp 0x4496de
mov ebx, dword [esp + 0x190]
mov eax, dword [esp + 0x194]
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x44]
jmp 0x4496de
mov eax, dword [eax + 0x20]
mov dword [esp + 0x1a0], eax
mov dword [esp], eax
call fcn.00443b80
mov ebx, dword [esp + 4]
mov esi, dword [esp + 8]
mov dword [esp + 0x198], ebx
mov dword [esp + 0x19c], esi
mov eax, dword [esp + 0x1d4]
mov ecx, dword [eax + 0x18]
mov ecx, dword [ecx + 0x50]
movzx edx, byte [ebx + 0x25]
mov ecx, dword [ecx + 0x30]
mov dword [esp + 0x1a8], ecx
mov ecx, dword [eax + 0x18]
mov ecx, dword [ecx + 0x50]
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x1ac], ecx
mov ecx, dword [eax + 0x18]
mov ecx, dword [ecx + 0x50]
mov edi, dword [ecx + 0xcc]
mov ecx, dword [ecx + 0xd0]
mov ebp, dword [esp + 0x1ec]
mov dword [esp + 0x174], esi
mov esi, edx
mov eax, ecx
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp + 0x64]
jmp 0x4496de
mov ebx, dword [esp + 0x190]
mov eax, dword [esp + 0x194]
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x180], edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x178], ebx
xchg esi, eax
mov byte [esp + 0x26], al
xchg esi, eax
mov ecx, dword [esp + 0x1a0]
mov edx, dword [ebx + 0x10]
mov dword [esp], ebx
mov ebp, dword [esp + 0x174]
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x9c]
mov dword [esp + 0x10], ecx
mov byte [esp + 0x14], 1
call fcn.00443cd0
mov eax, dword [esp + 0x1ac]
add eax, dword [esp + 0x18]
mov dword [esp + 0x1b0], eax
add eax, 4
mov dword [esp + 0x1b0], eax
xor eax, eax
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp + 0x64]
movzx esi, byte [esp + 0x26]
mov ebx, dword [esp + 0x178]
mov ebp, dword [esp + 0x174]
mov edi, dword [esp + 0x180]
mov dword [esp + 0x180], edi
mov dword [esp + 0x178], ebx
mov dword [esp + 0x174], ebp
xchg esi, eax
test al, 1
xchg esi, eax
je 0x4497a7
mov dword [esp + 0x1a8], 0
xor esi, esi
xor eax, eax
mov dword [esp + 0x170], eax
xor eax, eax
jmp 0x44995b
xchg esi, eax
test al, 2
xchg esi, eax
je 0x4497f2
mov esi, dword [esp + 0x1e4]
test esi, esi
je 0x4497ca
mov ebp, dword [esp + 0x3c]
test ebp, ebp
jle 0x4497fd
test esi, esi
je 0x4497ce
jmp 0x44a500
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x1a8], 0
xor eax, eax
mov dword [esp + 0x16c], eax
xor eax, eax
mov dword [esp + 0x168], eax
xor eax, eax
jmp 0x44993d
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x1e4]
mov eax, dword [esp + 0x1a8]
test eax, eax
jne 0x44981b
mov eax, dword [esp + 0x1b0]
add eax, 0xfffffffc
mov eax, dword [eax]
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x1a8]
mov dword [esp], eax
call fcn.00443b80
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x449855
movzx edx, byte [esp + 0x24]
mov ebp, dword [esp + 0x1e4]
mov esi, dword [esp + 0x178]
mov edi, dword [esp + 0x1d4]
jmp 0x44990e
movzx ebx, byte [esp + 0x24]
test bl, bl
je 0x449891
mov ebp, dword [esp + 0x1d4]
mov esi, dword [ebp + 0x18]
movzx esi, byte [esi + 0x8c]
xchg esi, eax
test al, al
xchg esi, eax
je 0x449888
mov esi, dword [esp + 0x178]
cmp byte [esi + 0x24], 0x12
jne 0x44989f
mov edx, ebx
xor ebx, ebx
jmp 0x4498a1
mov esi, dword [esp + 0x178]
jmp 0x44989f
mov ebp, dword [esp + 0x1d4]
mov esi, dword [esp + 0x178]
mov edx, ebx
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x188], eax
mov edi, ebp
mov ebp, dword [esp + 0x1e4]
test ebp, ebp
jne 0x4498c4
test bl, bl
jne 0x4498c4
test ebp, ebp
jmp 0x449908
mov dword [esp], esi
mov eax, dword [esp + 0x174]
mov dword [esp + 4], eax
call fcn.004440a0
mov edx, dword [esp + 0x1e4]
test edx, edx
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x18c]
movzx edx, byte [esp + 0x24]
mov ebp, dword [esp + 0x1e4]
mov esi, dword [esp + 0x178]
mov edi, dword [esp + 0x1d4]
jne 0x44a4ea
mov edx, dword [esp + 0x64]
mov ebx, esi
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x1e4]
mov edi, dword [esp + 0x180]
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x168], eax
xor eax, eax
mov ecx, dword [esp + 0x1d4]
mov ebp, dword [esp + 0x174]
mov esi, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov dword [esp + 0x170], eax
xor eax, eax
mov dword [esp + 0x16c], esi
mov esi, dword [esp + 0x1b0]
mov dword [esp + 0x1b4], esi
add esi, 0xfffffffc
mov dword [esp + 0x1b4], esi
mov esi, dword [esp + 0x1e4]
test esi, esi
jne 0x44999d
movzx ebp, byte [esp + 0x24]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x449a50
test esi, esi
mov ebp, dword [esp + 0x174]
mov ebp, dword [esp + 0x1b0]
mov dword [esp + 0x1b8], ebp
je 0x4499bd
cmp dword [ebx + 8], 0x80000000
xchg ebp, ebx
sete bl
xchg ebp, ebx
jmp 0x4499bf
xor ebp, ebp
mov ebx, dword [ebx + 8]
mov dword [esp + 0x1bc], ebx
mov dword [esp + 0x1c0], 0
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x449a44
lea eax, [esp + 0x198]
mov dword [esp], eax
mov ecx, dword [esp + 0x178]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x174]
mov dword [esp + 8], edx
test esi, esi
setne bl
mov byte [esp + 0xc], bl
mov ebx, dword [esp + 0x17c]
mov dword [esp + 0x10], ebx
call fcn.0044a560
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], ecx
xor eax, eax
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x1e4]
mov edi, dword [esp + 0x180]
mov ebx, dword [esp + 0x178]
movzx ebp, byte [esp + 0x24]
mov ebx, dword [esp + 0x1a0]
mov dword [esp + 0x1a4], ebx
movzx ebx, byte [esp + 0x23]
test bl, bl
je 0x449af4
mov ebp, dword [esp + 0x198]
mov dword [esp + 0x190], ebp
mov ebp, dword [ebp + 0xc]
test ebp, ebp
jne 0x449a8f
mov dword [esp + 0x1a4], 0
test esi, esi
jmp 0x449aed
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x190]
mov ecx, dword [ecx]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00443780
mov eax, dword [esp + 0x198]
mov eax, dword [eax + 0xc]
add eax, dword [esp + 8]
inc eax
mov dword [esp + 0x1a4], eax
mov edx, dword [esp + 0x1e4]
test edx, edx
mov eax, 0
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp + 0x64]
movzx ebx, byte [esp + 0x23]
mov esi, dword [esp + 0x1e4]
mov edi, dword [esp + 0x180]
movzx ebp, byte [esp + 0x24]
jmp 0x449af6
test esi, esi
jne 0x449b03
mov esi, dword [esp + 0x1dc]
test esi, esi
jmp 0x449b5c
mov eax, dword [esi]
lea ecx, [esp + 0x198]
mov dword [esp], ecx
mov ebx, dword [esp + 0x1e8]
mov dword [esp + 4], ebx
mov edx, esi
call eax
movzx eax, byte [esp + 8]
test al, al
je 0x449ea3
mov ebx, dword [esp + 0x1dc]
test ebx, ebx
mov eax, 0
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp + 0x64]
movzx ebx, byte [esp + 0x23]
movzx ebp, byte [esp + 0x24]
mov esi, dword [esp + 0x1dc]
mov edi, dword [esp + 0x180]
je 0x449c86
mov ebp, dword [esp + 0x1a0]
mov esi, dword [esp + 0x3c]
test esi, esi
jne 0x449b84
mov esi, dword [esp + 0x1ec]
test esi, 2
jne 0x449bdd
test bl, bl
jmp 0x449b8d
test bl, bl
mov esi, dword [esp + 0x1ec]
jne 0x449bdd
mov dword [esp + 0x30], ebp
mov eax, dword [esp + 0x178]
mov ecx, dword [eax]
mov edx, dword [esp + 0x174]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00443780
mov eax, dword [esp + 0x30]
cmp dword [esp + 8], eax
jne 0x449be2
xor eax, eax
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp + 0x64]
movzx ebx, byte [esp + 0x23]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x1ec]
mov edi, dword [esp + 0x180]
lea ebx, [ebp + 1]
jmp 0x449c04
lea ebp, [eax - 1]
xor eax, eax
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x1ec]
mov edi, dword [esp + 0x180]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x178]
cmp byte [ebp + 0x27], 3
ja 0x449c22
xor eax, eax
mov dword [esp + 0x160], eax
xor eax, eax
jmp 0x449c6d
mov dword [esp + 0x58], ebx
lea esi, [ebp + 0x27]
mov ebp, dword [ebp + 0x1c]
lea ebp, [esi + ebp*4 + 0xd]
mov ebp, dword [ebp]
cmp ebp, 0xffffffff
xchg esi, ebx
sete bl
xchg esi, ebx
mov ebx, dword [esp + 0x174]
mov ebx, dword [ebx + 0x98]
xchg esi, eax
movzx eax, al
xchg esi, eax
dec esi
add ebx, ebp
and ebx, esi
mov ebp, dword [esp + 0x178]
mov esi, dword [esp + 0x1ec]
mov dword [esp + 0x160], ebx
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x160]
test esi, esi
jne 0x44a314
movzx esi, byte [esp + 0x25]
jmp 0x44a419
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x449d99
mov ebp, dword [esp + 0x1a0]
mov dword [esp + 0x28], ebp
mov esi, dword [esp + 0x3c]
test esi, esi
jg 0x449cbc
mov esi, dword [esp + 0x1ec]
test esi, 2
je 0x449cbc
xor eax, eax
mov byte [esp + 0x27], al
xor eax, eax
jmp 0x449d0e
mov eax, dword [esp + 0x178]
mov ecx, dword [eax]
mov edx, dword [esp + 0x174]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00443780
mov eax, dword [esp + 0x1a0]
cmp dword [esp + 8], eax
setb al
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp + 0x64]
movzx ebx, byte [esp + 0x23]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x1ec]
mov edi, dword [esp + 0x180]
mov byte [esp + 0x27], al
xor eax, eax
movzx esi, byte [esp + 0x27]
xchg esi, eax
test al, al
xchg esi, eax
je 0x449d1e
test bl, bl
jne 0x449d1e
dec ebp
mov ebx, dword [esp + 0x178]
cmp byte [ebx + 0x27], 3
ja 0x449d2f
xor esi, esi
jmp 0x449d6d
mov dword [esp + 0x54], ebp
lea esi, [ebx + 0x27]
mov ebx, dword [ebx + 0x1c]
lea ebx, [esi + ebx*4 + 0xd]
mov ebx, dword [ebx]
cmp ebx, 0xffffffff
xchg esi, ebx
sete bl
xchg esi, ebx
mov ebp, dword [esp + 0x174]
mov ebp, dword [ebp + 0x98]
xchg esi, eax
movzx eax, al
xchg esi, eax
dec esi
add ebx, ebp
and ebx, esi
mov ebp, dword [esp + 0x54]
mov esi, ebx
mov ebx, dword [esp + 0x178]
test esi, esi
jne 0x449d7b
movzx esi, byte [esp + 0x25]
jmp 0x44a0f7
mov dword [esp + 0x15c], esi
lea edi, [esp + 0x74]
call fcn.00451aa6
movzx ecx, byte [esp + 0x25]
mov edi, dword [esp + 0x34]
jmp 0x449f84
movzx ebx, byte [esp + 0x25]
mov byte [esp + 0x25], bl
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x178]
cmp byte [esi + 0x24], 4
jne 0x449e39
mov ebx, dword [esp + 0x44]
test ebx, ebx
je 0x449e3d
mov esi, dword [edi + ebx*4 - 4]
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x5c]
test esi, esi
jne 0x449e2f
mov esi, dword [esp + 0x1e4]
test esi, esi
jne 0x449e36
mov eax, dword [esp + 0x1dc]
mov dword [esp], eax
movzx ecx, byte [esp + 0x24]
mov byte [esp + 4], cl
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov edx, dword [esp + 0x1e0]
mov dword [esp + 0x10], edx
call fcn.0044a6b0
mov ebp, dword [esp + 0x14]
xor eax, eax
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x1e4]
mov edi, dword [esp + 0x180]
jmp 0x449e36
mov esi, dword [esp + 0x1e4]
dec ebx
jmp 0x449e44
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x1e4]
mov dword [esp + 0x44], ebx
mov esi, dword [esp + 0x178]
movzx esi, byte [esi + 0x24]
xchg esi, eax
cmp al, 0x12
xchg esi, eax
mov ebx, dword [esp + 0x16c]
test ebx, ebx
je 0x449f14
mov dword [esp + 0x50], ebp
mov ebp, dword [esp + 0x1a0]
cmp dword [esp + 0x1a8], ebp
jne 0x449e99
mov ebp, dword [esp + 0x1ac]
cmp dword [esp + 0x1b0], ebp
je 0x449f23
xchg esi, eax
cmp al, 0x12
xchg esi, eax
jmp 0x4494a0
xchg esi, eax
cmp al, 0x12
xchg esi, eax
jmp 0x4494a0
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1f0], eax
add esp, 0x1c4
ret
mov ebx, dword [esp + 0x1e0]
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
jmp 0x449eca
mov eax, dword [esp + 0x34]
movzx edx, byte [esp + 0x24]
test dl, dl
jne 0x449ed5
mov eax, esi
mov edx, dword [esp + 0x1e4]
test edx, edx
je 0x449ef0
cmp ebx, eax
jle 0x449ef0
mov edx, dword [esp + 0x1ac]
cmp dword [ecx + 0x40], edx
jne 0x449efe
mov dword [esp + 0x1f0], eax
add esp, 0x1c4
ret
lea eax, [0x594880]
mov dword [esp], eax
mov dword [esp + 4], 0x23
call fcn.0042e5b0
mov ebx, dword [esp + 0x1e0]
mov eax, dword [esp + 0x34]
mov esi, ebp
jmp 0x449eca
lea eax, [0x58e7c2]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call fcn.0042e5b0
mov dword [esp + 0x34], edi
mov eax, dword [esp + 0x198]
movzx ecx, byte [ebx + 2]
mov byte [esp + 0x25], cl
mov edx, dword [esp + 0x19c]
mov eax, dword [eax]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00443780
mov ebp, dword [esp + 8]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x15c]
add ebp, dword [ecx + eax*4 + 0x10]
mov ebx, dword [esp + 0x178]
movzx ecx, byte [esp + 0x25]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x34], edi
mov byte [esp + 0x25], cl
mov dword [esp + 0x28], ebp
mov dword [esp], ebx
mov eax, dword [esp + 0x174]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], 0
call fcn.00444550
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x44a0d3
cmp eax, 0x100000
jae 0x44a2bd
lea eax, [eax + eax*4]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x15c]
mov edx, dword [ecx + eax*4 + 0xc]
mov dword [esp + 0x78], edx
lea edx, [ecx + eax*4 + 2]
movzx edx, byte [edx]
mov byte [esp + 0x98], dl
lea ebx, [ecx + eax*4]
mov dword [esp + 0x184], ebx
mov ebp, dword [esp + 0x1ec]
test ebp, 1
je 0x44a012
mov edx, 1
jmp 0x44a074
lea eax, [esp + 0x74]
mov dword [esp], eax
mov ecx, dword [esp + 0x174]
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0x1d4]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x34]
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
xchg esi, eax
mov byte [esp + 0xc], al
xchg esi, eax
mov byte [esp + 0xd], dl
movzx edx, byte [esp + 0x25]
mov byte [esp + 0xe], dl
call fcn.0044a9b0
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0x15c]
mov ebx, dword [esp + 0x184]
mov ebp, dword [esp + 0x1ec]
mov edx, eax
mov eax, dword [esp + 0x4c]
test dl, dl
jne 0x44a081
mov edi, dword [esp + 0x34]
jmp 0x449f39
lea eax, [esp + 0x74]
mov dword [esp], eax
mov ecx, dword [esp + 0x174]
mov dword [esp + 4], ecx
call fcn.004440a0
nop
mov eax, dword [esp + 0x178]
mov dword [esp], eax
mov ecx, dword [esp + 0x174]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004442e0
mov eax, dword [esp + 0x34]
lea edi, [eax + 1]
mov ebx, dword [esp + 0x184]
jmp 0x449f39
xor eax, eax
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x178]
mov edi, dword [esp + 0x180]
movzx esi, byte [esp + 0x25]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x1ec]
test ebp, 1
je 0x44a111
mov esi, 1
jmp 0x44a172
movzx eax, byte [ebx + 0x24]
mov dword [esp], ebx
mov edx, dword [esp + 0x174]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov ebp, dword [esp + 0x34]
test ebp, ebp
xchg edi, ebx
sete bl
xchg edi, ebx
xchg edi, eax
mov byte [esp + 0xc], al
xchg edi, eax
mov byte [esp + 0xd], al
xchg esi, eax
mov byte [esp + 0xe], al
xchg esi, eax
call fcn.0044a9b0
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x178]
mov ebp, dword [esp + 0x1ec]
mov edi, dword [esp + 0x180]
mov esi, eax
xor eax, eax
xchg esi, eax
test al, al
xchg esi, eax
jne 0x44a181
mov esi, dword [esp + 0x34]
jmp 0x44a2a0
mov dword [esp], ebx
mov eax, dword [esp + 0x174]
mov dword [esp + 4], eax
call fcn.004440a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x164], ecx
mov edx, dword [esp + 0x178]
mov dword [esp], edx
mov ebx, dword [esp + 0x174]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x28]
mov dword [esp + 8], ebp
mov byte [esp + 0xc], 1
call fcn.004442e0
mov eax, dword [esp + 0x38]
cmp eax, 0xf
jne 0x44a1fd
mov ecx, dword [esp + 0x164]
mov dword [esp], ecx
lea ecx, [0x58e777]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004028d0
movzx eax, byte [esp + 0xc]
test al, al
je 0x44a1fd
mov eax, dword [esp + 0x178]
mov ecx, dword [eax]
mov edx, dword [esp + 0x174]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00443780
mov eax, dword [esp + 0x1a0]
cmp dword [esp + 8], eax
jae 0x44a243
nop
mov eax, dword [esp + 0x178]
mov ecx, dword [eax]
mov edx, dword [esp + 0x174]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00443780
mov ebx, dword [esp + 0x1d4]
mov ebp, dword [ebx + 0x18]
test ebp, ebp
je 0x44a275
mov esi, dword [ebp + 0x70]
test esi, esi
jle 0x44a26c
cmp dword [ebp + 0x50], ebx
jne 0x44a263
mov ebp, dword [esp + 0x68]
jmp 0x44a27e
mov ebp, dword [esp + 0x68]
cmp ebp, 2
jmp 0x44a27c
mov ebp, dword [esp + 0x68]
cmp ebp, 2
jmp 0x44a27c
mov ebp, dword [esp + 0x68]
cmp ebp, 2
jl 0x44a27e
mov esi, dword [esp + 0x34]
inc esi
xor eax, eax
mov ecx, ebx
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x178]
mov ebp, dword [esp + 0x1ec]
mov edi, dword [esp + 0x180]
movzx eax, byte [ebx + 0x24]
movzx ebp, byte [esp + 0x24]
mov ebx, eax
mov dword [esp + 0x34], esi
xor eax, eax
mov esi, dword [esp + 0x1dc]
jmp 0x449d9e
mov ecx, 0x100000
call fcn.00451930
mov dword [esp + 0x5c], esi
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x198]
movzx edx, byte [ebp + 2]
mov byte [esp + 0x25], dl
mov ebx, dword [esp + 0x19c]
mov ecx, dword [ecx]
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.00443780
mov ebp, dword [esp + 8]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x160]
add ebp, dword [ecx + eax*4 + 0x10]
lea ebx, [ebp + 1]
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x178]
mov dword [esp + 0x48], ebx
mov dword [esp], ebp
mov eax, dword [esp + 0x174]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x9c]
mov dword [esp + 0x10], ecx
call fcn.00444550
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x44a3f5
cmp eax, 0x100000
jae 0x44a4e0
lea edx, [eax + eax*4]
mov dword [esp + 0x4c], edx
mov ebx, dword [esp + 0x160]
lea ebp, [ebx + edx*4]
lea esi, [ebx + edx*4 + 2]
cmp byte [esi], 0x15
jne 0x44a39e
movzx esi, byte [esp + 0x25]
xchg esi, eax
cmp al, 9
xchg esi, eax
je 0x44a39e
xchg esi, eax
cmp al, 0x12
xchg esi, eax
je 0x44a39e
xchg esi, eax
cmp al, 0xe
xchg esi, eax
je 0x44a39e
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x5c]
jmp 0x44a2c7
mov esi, dword [esp + 0x5c]
test esi, esi
jle 0x44a3bb
lea eax, [esi - 1]
mov edi, dword [esp + 0x1dc]
mov esi, eax
mov eax, dword [esp + 0x3c]
jmp 0x44a2c7
mov edi, dword [esp + 0x1e0]
mov eax, dword [esp + 0x3c]
cmp edi, eax
jle 0x44a3e9
cmp eax, 0x100000
jae 0x44a4d6
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x1dc]
mov dword [edi + eax*4], ecx
inc eax
jmp 0x44a2c7
mov edi, dword [esp + 0x1dc]
jmp 0x44a2c7
xor eax, eax
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x178]
mov edi, dword [esp + 0x180]
movzx esi, byte [esp + 0x25]
mov ebx, dword [esp + 0x48]
cmp byte [ebp + 0x24], 0x15
jne 0x44a445
xchg esi, eax
cmp al, 9
xchg esi, eax
je 0x44a445
xchg esi, eax
cmp al, 0x12
xchg esi, eax
je 0x44a445
xchg esi, eax
cmp al, 0xe
xchg esi, eax
je 0x44a445
mov ebp, dword [esp + 0x1dc]
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x5c]
jmp 0x44a493
mov esi, dword [esp + 0x5c]
test esi, esi
jle 0x44a45f
lea ebx, [esi - 1]
mov ebp, dword [esp + 0x1dc]
mov esi, ebx
mov ebx, dword [esp + 0x3c]
jmp 0x44a493
mov ebp, dword [esp + 0x1e0]
mov esi, dword [esp + 0x3c]
cmp ebp, esi
jle 0x44a486
cmp esi, 0x100000
jae 0x44a4ca
mov ebp, dword [esp + 0x1dc]
mov dword [ebp + esi*4], ebx
lea ebx, [esi + 1]
jmp 0x44a48f
mov ebp, dword [esp + 0x1dc]
mov ebx, esi
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x178]
movzx ecx, byte [eax + 0x24]
dec ebx
xor eax, eax
movzx ebp, byte [esp + 0x24]
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x25], cl
mov dword [esp + 0x5c], esi
mov ecx, dword [esp + 0x1d4]
movzx ebx, byte [esp + 0x23]
mov esi, dword [esp + 0x1dc]
jmp 0x449c86
mov eax, esi
mov ecx, 0x100000
call fcn.00451930
mov ecx, 0x100000
call fcn.00451930
mov ecx, 0x100000
call fcn.00451930
lea eax, [0x58f0af]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call fcn.0042e5b0
mov dword [esp], ebx
mov eax, dword [esp + 0x174]
mov dword [esp + 4], eax
call fcn.004440a0
lea eax, [0x58d3a7]
mov dword [esp], eax
mov dword [esp + 4], 9
call fcn.0042e5b0
lea eax, [0x5972c9]
mov dword [esp], eax
mov dword [esp + 4], 0x39
call fcn.0042e5b0
lea eax, [0x597065]
mov dword [esp], eax
mov dword [esp + 4], 0x37
call fcn.0042e5b0
nop
call fcn.00450480
jmp fcn.00449280