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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x288]
cmp eax, dword [ecx + 8]
jbe 0x52a8b5
sub esp, 0x308
mov edx, dword [esp + 0x30c]
mov ebx, dword [edx + 0x18]
mov ebp, dword [edx + 0x1c]
cmp dword [edx + 0x33c], 1
jne 0x5276b0
movzx esi, byte [esp + 0x31c]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x5276b8
mov edi, dword [0x1e70ee8]
mov ecx, dword [0x1e70eec]
mov eax, dword [esp + 0x318]
cmp eax, ecx
jae 0x52a8af
shl eax, 4
mov ecx, dword [edi + eax]
mov esi, dword [edi + eax + 4]
mov edx, dword [edi + eax + 8]
mov edi, dword [edi + eax + 0xc]
sub ebx, edx
lea eax, [ecx + ebx - 1]
test ecx, ecx
je 0x52a8aa
cmp ecx, 0xffffffff
je 0x527634
cdq
idiv ecx
jmp 0x527636
neg eax
sub ebp, edi
lea ecx, [esi + ebp - 1]
test esi, esi
je 0x52a8a5
mov dword [esp + 0xe0], eax
mov eax, ecx
cmp esi, 0xffffffff
je 0x527657
cdq
idiv esi
jmp 0x527659
neg eax
mov ecx, dword [esp + 0xe0]
test ecx, ecx
je 0x527668
test eax, eax
jne 0x52769b
mov dword [esp + 0x320], 0
mov dword [esp + 0x324], 0
mov dword [esp + 0x328], 0
mov dword [esp + 0x32c], 0
add esp, 0x308
ret
mov edx, dword [esp + 0x30c]
movzx esi, byte [esp + 0x31c]
mov ebx, ecx
mov ebp, eax
jmp 0x5276b8
movzx esi, byte [esp + 0x31c]
mov dword [esp + 0xe0], ebx
mov dword [esp + 0x118], ebp
mov ecx, dword [edx + 0x30]
cmp ecx, 0xa
jg 0x527adb
cmp ecx, 5
jg 0x5278e2
lea edi, [ecx - 1]
cmp edi, 3
ja 0x527817
mov eax, dword [edx + 0x20]
mov dword [esp + 0x120], eax
movzx ecx, byte [edx + 0x340]
test cl, cl
je 0x527756
test ebx, ebx
jge 0x527706
mov ecx, ebx
xor edi, edi
jmp 0x52770c
mov ecx, ebx
xor ebx, ebx
mov edi, ecx
test ebp, ebp
jge 0x52771f
mov dword [esp + 0x2b8], eax
xor eax, eax
mov dword [esp + 0x68], eax
jmp 0x52772e
xor ebp, ebp
mov ebp, dword [esp + 0x118]
mov dword [esp + 0x68], ebp
xor ebp, ebp
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
call fcn.004bbe30
mov eax, dword [esp + 0x10]
lea ecx, [0x78697c]
mov edx, eax
xor ebx, ebx
jmp 0x5277ae
test ebx, ebx
jge 0x527760
mov ecx, ebx
xor edi, edi
jmp 0x527766
mov ecx, ebx
xor ebx, ebx
mov edi, ecx
test ebp, ebp
jge 0x527779
mov dword [esp + 0x2b0], eax
xor eax, eax
mov dword [esp + 0x64], eax
jmp 0x527788
xor ebp, ebp
mov ebp, dword [esp + 0x118]
mov dword [esp + 0x64], ebp
xor ebp, ebp
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
call fcn.004bcad0
mov eax, dword [esp + 0x10]
lea ecx, [0x786944]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0x118]
movzx esi, byte [esp + 0x31c]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x2d4], ebp
xor esi, esi
mov dword [esp + 0x2e4], esi
xor ebp, ebp
mov dword [esp + 0x2c0], ebp
xor ebp, ebp
mov dword [esp + 0x2d8], ebp
mov dword [esp + 0x100], ecx
mov dword [esp + 0x2e0], eax
mov eax, ebx
mov ecx, edx
mov ebp, dword [esp + 0x118]
movzx esi, byte [esp + 0x31c]
mov edx, dword [esp + 0x30c]
mov ebx, dword [esp + 0xe0]
jmp 0x527f9a
cmp ecx, 5
jne 0x527f53
test ebx, ebx
jge 0x52782a
mov eax, ebx
xor ecx, ecx
jmp 0x527830
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x527838
xor edi, edi
jmp 0x527841
xor ebp, ebp
mov edi, dword [esp + 0x118]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.004bbe30
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30c]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x118]
movzx esi, byte [esp + 0x31c]
mov ecx, eax
xor edi, edi
xor eax, eax
mov dword [esp + 0x2d4], eax
xor edx, edx
mov dword [esp + 0x2e4], edx
xor ebx, ebx
mov dword [esp + 0x2c0], ebx
xor ebp, ebp
mov dword [esp + 0x2d8], ebp
lea esi, [0x78697c]
mov dword [esp + 0x100], esi
mov dword [esp + 0x2e0], ecx
mov eax, 0x10
mov dword [esp + 0x120], eax
xor eax, eax
mov edx, dword [esp + 0x30c]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x118]
movzx esi, byte [esp + 0x31c]
jmp 0x527f9a
cmp ecx, 6
jne 0x5279f3
movzx eax, byte [edx + 0x340]
test al, al
je 0x52793b
test ebx, ebx
jge 0x527900
mov eax, ebx
xor ecx, ecx
jmp 0x527906
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x52790e
xor edi, edi
jmp 0x527917
xor ebp, ebp
mov edi, dword [esp + 0x118]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.004bbe30
mov eax, dword [esp + 0x10]
lea ecx, [0x78697c]
mov edx, eax
xor ebx, ebx
jmp 0x52797e
test ebx, ebx
jge 0x527945
mov eax, ebx
xor ecx, ecx
jmp 0x52794b
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x527953
xor edi, edi
jmp 0x52795c
xor ebp, ebp
mov edi, dword [esp + 0x118]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.004bb2a0
mov eax, dword [esp + 0x10]
lea ecx, [0x7869d0]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0x118]
movzx esi, byte [esp + 0x31c]
mov edi, ebx
xor ebx, ebx
mov dword [esp + 0x2d4], ebx
xor ebp, ebp
mov dword [esp + 0x2e4], ebp
xor esi, esi
mov dword [esp + 0x2c0], esi
xor ebx, ebx
mov dword [esp + 0x2d8], ebx
mov dword [esp + 0x100], ecx
mov dword [esp + 0x2e0], eax
mov ebx, 0x18
mov dword [esp + 0x120], ebx
mov ebx, dword [esp + 0xe0]
xor eax, eax
mov ecx, edx
mov ebp, dword [esp + 0x118]
movzx esi, byte [esp + 0x31c]
mov edx, dword [esp + 0x30c]
jmp 0x527f9a
mov eax, dword [edx + 0x20]
test ebx, ebx
jge 0x527a00
mov ecx, ebx
xor edi, edi
jmp 0x527a06
mov ecx, ebx
xor ebx, ebx
mov edi, ecx
mov dword [esp + 0x120], eax
test ebp, ebp
jge 0x527a20
mov dword [esp + 0x2a8], eax
xor eax, eax
mov dword [esp + 0x60], eax
jmp 0x527a2f
xor ebp, ebp
mov ebp, dword [esp + 0x118]
mov dword [esp + 0x60], ebp
xor ebp, ebp
mov eax, dword [edx + 0x24]
mov ecx, dword [edx + 0x28]
mov esi, dword [edx + 0x2c]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov ebx, dword [esp + 0x60]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
call fcn.004bda60
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x30c]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x118]
movzx esi, byte [esp + 0x31c]
xor ecx, ecx
xor edi, edi
mov dword [esp + 0x2d4], eax
xor edx, edx
mov dword [esp + 0x2e4], edx
xor ebx, ebx
mov dword [esp + 0x2c0], ebx
xor ebp, ebp
mov dword [esp + 0x2d8], ebp
lea esi, [0x7869b4]
mov dword [esp + 0x100], esi
mov dword [esp + 0x2e0], eax
xor eax, eax
mov edx, dword [esp + 0x30c]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x118]
movzx esi, byte [esp + 0x31c]
jmp 0x527f9a
cmp ecx, 0xc
jg 0x527cb3
cmp ecx, 0xb
jne 0x527baf
test ebx, ebx
jge 0x527af7
mov eax, ebx
xor ecx, ecx
jmp 0x527afd
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x527b05
xor edi, edi
jmp 0x527b0e
xor ebp, ebp
mov edi, dword [esp + 0x118]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.004bbe30
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30c]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x118]
movzx esi, byte [esp + 0x31c]
mov ecx, eax
xor edi, edi
xor eax, eax
mov dword [esp + 0x2d4], eax
xor edx, edx
mov dword [esp + 0x2e4], edx
xor ebx, ebx
mov dword [esp + 0x2c0], ebx
xor ebp, ebp
mov dword [esp + 0x2d8], ebp
lea esi, [0x78697c]
mov dword [esp + 0x100], esi
mov dword [esp + 0x2e0], ecx
mov eax, 0x20
mov dword [esp + 0x120], eax
xor eax, eax
mov edx, dword [esp + 0x30c]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x118]
movzx esi, byte [esp + 0x31c]
jmp 0x527f9a
movzx eax, byte [edx + 0x340]
test al, al
je 0x527bff
test ebx, ebx
jge 0x527bc4
mov eax, ebx
xor ecx, ecx
jmp 0x527bca
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x527bd2
xor edi, edi
jmp 0x527bdb
xor ebp, ebp
mov edi, dword [esp + 0x118]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.004bc550
mov eax, dword [esp + 0x10]
lea ecx, [0x786998]
mov edx, eax
xor ebx, ebx
jmp 0x527c42
test ebx, ebx
jge 0x527c09
mov eax, ebx
xor ecx, ecx
jmp 0x527c0f
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x527c17
xor edi, edi
jmp 0x527c20
xor ebp, ebp
mov edi, dword [esp + 0x118]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.004bd000
mov eax, dword [esp + 0x10]
lea ecx, [0x786960]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0x118]
movzx esi, byte [esp + 0x31c]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x2d4], ebp
mov dword [esp + 0x2e4], ebx
xor esi, esi
mov dword [esp + 0x2c0], esi
mov dword [esp + 0x2d8], edx
mov dword [esp + 0x100], ecx
mov dword [esp + 0x2e0], eax
mov ebp, 0x10
mov dword [esp + 0x120], ebp
mov edx, dword [esp + 0x30c]
mov ebx, dword [esp + 0xe0]
xor eax, eax
xor ecx, ecx
mov ebp, dword [esp + 0x118]
movzx esi, byte [esp + 0x31c]
jmp 0x527f9a
cmp ecx, 0xd
jne 0x527d7e
test ebx, ebx
jge 0x527cc6
mov eax, ebx
xor ecx, ecx
jmp 0x527ccc
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x527cd4
xor edi, edi
jmp 0x527cdd
xor ebp, ebp
mov edi, dword [esp + 0x118]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.004bc550
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30c]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x118]
movzx esi, byte [esp + 0x31c]
xor ecx, ecx
xor edi, edi
xor edx, edx
mov dword [esp + 0x2d4], edx
xor ebx, ebx
mov dword [esp + 0x2e4], ebx
xor ebp, ebp
mov dword [esp + 0x2c0], ebp
mov dword [esp + 0x2d8], eax
lea esi, [0x786998]
mov dword [esp + 0x100], esi
mov dword [esp + 0x2e0], eax
mov ecx, 0x20
mov dword [esp + 0x120], ecx
xor eax, eax
mov edx, dword [esp + 0x30c]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x118]
movzx esi, byte [esp + 0x31c]
xor ecx, ecx
jmp 0x527f9a
cmp ecx, 0xe
jne 0x527e8b
movzx eax, byte [edx + 0x340]
test al, al
je 0x527dd7
test ebx, ebx
jge 0x527d9c
mov eax, ebx
xor ecx, ecx
jmp 0x527da2
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x527daa
xor edi, edi
jmp 0x527db3
xor ebp, ebp
mov edi, dword [esp + 0x118]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.004bc550
mov eax, dword [esp + 0x10]
lea ecx, [0x786998]
mov edx, eax
xor ebx, ebx
jmp 0x527e1a
test ebx, ebx
jge 0x527de1
mov eax, ebx
xor ecx, ecx
jmp 0x527de7
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x527def
xor edi, edi
jmp 0x527df8
xor ebp, ebp
mov edi, dword [esp + 0x118]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.004bb7b0
mov eax, dword [esp + 0x10]
lea ecx, [0x7869ec]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0x118]
movzx esi, byte [esp + 0x31c]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x2d4], ebp
xor esi, esi
mov dword [esp + 0x2e4], esi
mov dword [esp + 0x2c0], ebx
mov dword [esp + 0x2d8], edx
mov dword [esp + 0x100], ecx
mov dword [esp + 0x2e0], eax
mov ebp, 0x30
mov dword [esp + 0x120], ebp
mov edx, dword [esp + 0x30c]
mov ebx, dword [esp + 0xe0]
xor eax, eax
xor ecx, ecx
mov ebp, dword [esp + 0x118]
movzx esi, byte [esp + 0x31c]
jmp 0x527f9a
cmp ecx, 0xf
jne 0x527f53
test ebx, ebx
jge 0x527e9e
mov eax, ebx
xor ecx, ecx
jmp 0x527ea4
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x527eac
xor edi, edi
jmp 0x527eb5
xor ebp, ebp
mov edi, dword [esp + 0x118]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.004bc550
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30c]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x118]
movzx esi, byte [esp + 0x31c]
xor ecx, ecx
xor edi, edi
xor edx, edx
mov dword [esp + 0x2d4], edx
xor ebx, ebx
mov dword [esp + 0x2e4], ebx
xor ebp, ebp
mov dword [esp + 0x2c0], ebp
mov dword [esp + 0x2d8], eax
lea esi, [0x786998]
mov dword [esp + 0x100], esi
mov dword [esp + 0x2e0], eax
mov ecx, 0x40
mov dword [esp + 0x120], ecx
xor eax, eax
mov edx, dword [esp + 0x30c]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x118]
movzx esi, byte [esp + 0x31c]
xor ecx, ecx
jmp 0x527f9a
xor eax, eax
xor ecx, ecx
xor edi, edi
xor eax, eax
mov dword [esp + 0x2d4], eax
xor eax, eax
mov dword [esp + 0x2e4], eax
xor eax, eax
mov dword [esp + 0x2c0], eax
xor eax, eax
mov dword [esp + 0x2d8], eax
xor eax, eax
mov dword [esp + 0x100], eax
xor eax, eax
mov dword [esp + 0x2e0], eax
xor eax, eax
mov dword [esp + 0x120], eax
xor eax, eax
xchg esi, eax
test al, al
xchg esi, eax
jne 0x5280f2
mov dword [esp + 0x2c4], edi
mov esi, eax
mov eax, dword [esp + 0x120]
mul ebx
mov edi, dword [esp + 0x120]
sar edi, 0x1f
imul edi, ebx
add edx, edi
sar ebx, 0x1f
mov edi, dword [esp + 0x120]
imul ebx, edi
add edx, ebx
mov ebx, eax
add eax, 7
mov eax, edx
adc edx, 0
sar edx, 0x1f
shr edx, 0x1d
add edx, ebx
adc eax, 0
add edx, 7
adc eax, 0
shr edx, 3
mov ebx, eax
shl eax, 0x1d
or edx, eax
sar ebx, 3
add edx, 1
adc ebx, 0
mov eax, esi
lea esi, [edi + 7]
sar esi, 0x1f
shr esi, 0x1d
lea esi, [edi + esi + 7]
mov edi, edx
sar edx, 0x1f
cmp edx, ebx
jne 0x5280bb
mov dword [esp + 0x134], edi
mov dword [esp + 0xe4], ebx
mov dword [esp + 0x2dc], ecx
mov dword [esp + 0x304], eax
mov dword [esp + 0x130], esi
lea eax, [0x69be80]
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
call fcn.0044bda0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x300], eax
lea ecx, [0x69be80]
mov dword [esp], ecx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x134]
mov dword [esp + 4], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
call fcn.0044bda0
mov eax, dword [esp + 0x130]
sar eax, 3
mov dword [esp + 0x11c], eax
mov ecx, dword [esp + 0x14]
xor edx, edx
xor ebx, ebx
mov ebp, dword [esp + 0x300]
jmp 0x528143
mov dword [esp + 0x320], 0
mov dword [esp + 0x324], 0
lea eax, [0x785f34]
mov dword [esp + 0x328], eax
lea eax, [0x784c78]
mov dword [esp + 0x32c], eax
add esp, 0x308
ret
mov eax, dword [esp + 0x100]
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], 0
mov dword [esp + 0x32c], 0
add esp, 0x308
ret
mov esi, dword [esp + 0xf4]
inc esi
mov eax, dword [esp + 0x11c]
mov edx, esi
mov ebp, dword [esp + 0x2f0]
mov esi, dword [esp + 0x118]
cmp edx, esi
jge 0x5289a2
mov dword [esp + 0x2f0], ecx
mov dword [esp + 0x2fc], ebp
mov dword [esp + 0xf4], edx
mov dword [esp + 0xe8], ebx
nop
mov eax, dword [esp + 0x310]
mov dword [esp], eax
mov ecx, dword [esp + 0x314]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov edx, dword [esp + 0x134]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edx
call fcn.0048e040
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
test eax, eax
jne 0x5288a4
mov ebx, dword [esp + 0x134]
cmp ebx, 1
jb 0x52a899
lea ecx, [ebx - 1]
mov ebp, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
mov esi, dword [esp + 0x2fc]
lea edi, [esi + ecx]
cmp ebx, 1
jb 0x52a88d
mov dword [esp + 0x130], ebp
mov dword [esp + 0x2f4], edi
mov eax, ebx
mov ebx, dword [esp + 0x2f0]
mov edx, ebx
add ebx, ecx
mov ecx, esi
movzx esi, byte [esi]
xchg esi, eax
cmp al, 1
xchg esi, eax
ja 0x52822b
xchg esi, eax
test al, al
xchg esi, eax
je 0x5282bf
mov ebx, dword [esp + 0x11c]
mov esi, ebx
jmp 0x52a860
mov dword [esp + 0x2d0], ebx
xchg esi, eax
cmp al, 2
xchg esi, eax
jne 0x528240
xor esi, esi
jmp 0x52a821
xchg esi, eax
cmp al, 3
xchg esi, eax
jne 0x52826a
mov esi, dword [esp + 0x11c]
mov dword [esp + 0x138], eax
xor eax, eax
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x138]
jmp 0x52a73c
xchg esi, eax
cmp al, 4
xchg esi, eax
jne 0x52886d
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebp
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x18], eax
call fcn.00525fd0
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x2fc]
mov edx, dword [esp + 0x2f0]
mov ebp, dword [esp + 0x130]
mov edi, dword [esp + 0x2f4]
mov ebx, dword [esp + 0x30c]
mov esi, dword [ebx + 0x30]
cmp esi, 7
jg 0x5285ed
cmp esi, 3
jg 0x5283f9
cmp esi, 1
jne 0x528339
movzx esi, byte [ebx + 0x340]
xchg esi, eax
test al, al
xchg esi, eax
je 0x528316
movzx esi, byte [ebx + 0x342]
xchg esi, eax
mov byte [esp + 0x2a], al
xchg esi, eax
mov dword [esp + 0x158], eax
xor eax, eax
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x158]
jmp 0x52a5bc
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x168], eax
xor eax, eax
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x168]
jmp 0x52a427
cmp esi, 2
jne 0x528397
movzx esi, byte [ebx + 0x340]
xchg esi, eax
test al, al
xchg esi, eax
je 0x528374
movzx esi, byte [ebx + 0x342]
xchg esi, eax
mov byte [esp + 0x29], al
xchg esi, eax
mov dword [esp + 0x188], eax
xor eax, eax
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x188]
jmp 0x52a2b0
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x198], eax
xor eax, eax
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x198]
jmp 0x52a11d
cmp esi, 3
jne 0x52885a
movzx esi, byte [ebx + 0x340]
xchg esi, eax
test al, al
xchg esi, eax
je 0x5283d6
movzx esi, byte [ebx + 0x342]
xchg esi, eax
mov byte [esp + 0x28], al
xchg esi, eax
mov dword [esp + 0x1b8], eax
xor eax, eax
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x1b8]
jmp 0x529f9b
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x1c8], eax
xor eax, eax
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x1c8]
jmp 0x529e14
cmp esi, 5
jg 0x5284db
cmp esi, 4
jne 0x5284b8
movzx esi, byte [ebx + 0x340]
xchg esi, eax
test al, al
xchg esi, eax
je 0x528441
movzx esi, byte [ebx + 0x342]
xchg esi, eax
mov byte [esp + 0x27], al
xchg esi, eax
mov dword [esp + 0x1e0], eax
xor eax, eax
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x1e0]
jmp 0x529d72
mov esi, dword [esp + 0x304]
mov ebx, dword [esi + 4]
mov edx, dword [esi]
mov esi, dword [esi + 8]
mov edi, dword [esp + 0xe8]
cmp edi, ebx
ja 0x529cd5
sub ebx, edi
sub esi, edi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edi
add edx, esi
cmp ebx, ebp
jg 0x528476
mov ebp, ebx
mov ebx, dword [esp + 0x2f4]
cmp edx, ebx
je 0x5284a6
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.004666e0
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x2fc]
mov edi, dword [esp + 0xe8]
mov edx, dword [esp + 0x304]
mov ebp, dword [edx + 0xc]
lea ebx, [edi + ebp]
jmp 0x529cc9
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x1e8], eax
xor eax, eax
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x1e8]
jmp 0x529c7b
cmp esi, 6
jne 0x5285ca
movzx esi, byte [ebx + 0x340]
xchg esi, eax
test al, al
xchg esi, eax
je 0x52856f
mov esi, dword [esp + 0x2dc]
mov edx, dword [esi + 4]
mov dword [esp + 0xf0], edx
mov esi, dword [esi]
mov dword [esp + 0x2cc], esi
movzx esi, byte [ebx + 0x342]
xchg esi, eax
mov byte [esp + 0x2b], al
xchg esi, eax
movzx edx, byte [ebx + 0x344]
mov byte [esp + 0x2c], dl
movzx edx, byte [ebx + 0x346]
mov byte [esp + 0x2d], dl
mov dword [esp + 0x208], eax
xor eax, eax
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x108], eax
mov dword [esp + 0x200], ecx
xor ecx, ecx
mov dword [esp + 0xfc], ecx
mov eax, dword [esp + 0x208]
mov ecx, dword [esp + 0x200]
jmp 0x529a6b
mov esi, dword [esp + 0x2c4]
mov edx, dword [esi + 4]
mov dword [esp + 0xec], edx
mov esi, dword [esi]
mov dword [esp + 0x2c8], esi
mov dword [esp + 0x218], eax
xor eax, eax
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x104], eax
mov dword [esp + 0x210], ecx
xor ecx, ecx
mov dword [esp + 0xf8], ecx
mov eax, dword [esp + 0x218]
mov ecx, dword [esp + 0x210]
jmp 0x529908
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x228], eax
xor eax, eax
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x228]
jmp 0x529724
cmp esi, 0xb
jg 0x5286f2
cmp esi, 9
jg 0x528646
cmp esi, 8
jne 0x528623
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x238], eax
xor eax, eax
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x238]
jmp 0x529564
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x248], eax
xor eax, eax
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x248]
jmp 0x5293a8
cmp esi, 0xa
jne 0x52867b
mov esi, dword [esp + 0x2d4]
cmp dword [esi + 0x24], 0x100
je 0x529278
mov dword [esp + 0x250], eax
xor eax, eax
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x250]
jmp 0x529318
mov esi, dword [esp + 0x2dc]
mov ebx, dword [esi + 4]
mov edx, dword [esi]
mov esi, dword [esi + 8]
mov edi, dword [esp + 0xe8]
cmp edi, ebx
ja 0x52926f
sub ebx, edi
sub esi, edi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edi
add edx, esi
cmp ebx, ebp
jg 0x5286b0
mov ebp, ebx
mov ebx, dword [esp + 0x2f4]
cmp edx, ebx
je 0x5286e0
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.004666e0
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x2fc]
mov edi, dword [esp + 0xe8]
mov edx, dword [esp + 0x2dc]
mov ebp, dword [edx + 0xc]
lea ebx, [edi + ebp]
jmp 0x52812b
cmp esi, 0xd
jg 0x52878e
cmp esi, 0xc
jne 0x52876b
movzx esi, byte [ebx + 0x340]
xchg esi, eax
test al, al
xchg esi, eax
je 0x528748
movzx esi, byte [ebx + 0x341]
shl esi, 8
movzx ebx, byte [ebx + 0x342]
or ebx, esi
mov word [esp + 0x46], bx
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x268], eax
xor eax, eax
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x268]
jmp 0x5291ef
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x270], eax
xor eax, eax
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x270]
jmp 0x52910e
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x278], eax
xor eax, eax
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x278]
jmp 0x528fe7
cmp esi, 0xe
jne 0x528832
movzx esi, byte [ebx + 0x340]
xchg esi, eax
test al, al
xchg esi, eax
je 0x52880f
movzx esi, byte [ebx + 0x341]
shl esi, 8
movzx edx, byte [ebx + 0x342]
or edx, esi
mov word [esp + 0x48], dx
movzx esi, byte [ebx + 0x343]
shl esi, 8
movzx edx, byte [ebx + 0x344]
or edx, esi
mov word [esp + 0x4a], dx
movzx esi, byte [ebx + 0x345]
shl esi, 8
movzx ebx, byte [ebx + 0x346]
or ebx, esi
mov word [esp + 0x4c], bx
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x290], eax
xor eax, eax
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x290]
jmp 0x528ddc
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x298], eax
xor eax, eax
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x298]
jmp 0x528c58
cmp esi, 0xf
jne 0x52885a
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x2a0], eax
xor eax, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x2a0]
jmp 0x528a84
mov edx, dword [esp + 0x2dc]
mov ebx, dword [esp + 0xe8]
jmp 0x52812b
mov dword [esp + 0x320], 0
mov dword [esp + 0x324], 0
lea eax, [0x785f20]
mov dword [esp + 0x328], eax
lea eax, [0x784c38]
mov dword [esp + 0x32c], eax
add esp, 0x308
ret
mov dword [esp + 0x2fc], ebx
mov dword [esp + 0x2ec], ebp
mov eax, dword [0x1e84bbc]
cmp dword [0x1e84bb8], ecx
je 0x5288c4
xor eax, eax
jmp 0x528903
mov dword [esp + 0x2e8], edx
mov dword [esp + 0x2f8], ecx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00403940
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x2f8]
mov edx, dword [esp + 0x2e8]
mov ebx, dword [esp + 0x2fc]
mov ebp, dword [esp + 0x2ec]
test al, al
jne 0x528940
mov eax, dword [0x1e84be4]
cmp dword [0x1e84be0], ecx
je 0x528919
xor eax, eax
jmp 0x52893c
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00403940
movzx eax, byte [esp + 0xc]
mov ebx, dword [esp + 0x2fc]
mov ebp, dword [esp + 0x2ec]
test al, al
je 0x528977
mov dword [esp + 0x320], 0
mov dword [esp + 0x324], 0
lea eax, [0x785f20]
mov dword [esp + 0x328], eax
lea eax, [0x784c20]
mov dword [esp + 0x32c], eax
add esp, 0x308
ret
mov dword [esp + 0x320], 0
mov dword [esp + 0x324], 0
mov dword [esp + 0x328], ebx
mov dword [esp + 0x32c], ebp
add esp, 0x308
ret
mov eax, dword [esp + 0x100]
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], 0
mov dword [esp + 0x32c], 0
add esp, 0x308
ret
lea eax, [edi + edx*8 + 7]
movzx eax, byte [eax]
mov ecx, dword [esp + 0x2d8]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov ebp, dword [esp + 0xf4]
mov dword [esp + 8], ebp
movzx esi, word [esp + 0x4e]
mov word [esp + 0xc], si
movzx esi, word [esp + 0x54]
mov word [esp + 0xe], si
movzx esi, word [esp + 0x5a]
mov word [esp + 0x10], si
shl ebx, 8
or eax, ebx
mov word [esp + 0x12], ax
call fcn.004bc470
mov eax, dword [esp + 0x90]
inc eax
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x2d8]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0x130]
mov esi, dword [esp + 0x2f4]
mov ecx, dword [esp + 0x2fc]
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0x30c]
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x134]
mov ebx, dword [esp + 0x90]
cmp ebx, esi
jge 0x528b50
shl ebx, 3
cmp ebx, ebp
jae 0x528ba2
mov dword [esp + 0x12c], ebx
mov edx, dword [esp + 0x90]
lea esi, [edi + edx*8]
movzx esi, byte [esi]
inc ebx
cmp ebx, ebp
jae 0x528b99
shl esi, 8
lea ebx, [edi + edx*8 + 1]
movzx ebx, byte [ebx]
or ebx, esi
mov word [esp + 0x4e], bx
mov esi, dword [esp + 0x12c]
lea ebx, [esi + 2]
cmp ebx, ebp
jae 0x528b90
lea ebx, [edi + edx*8 + 2]
movzx ebx, byte [ebx]
add esi, 3
cmp esi, ebp
jae 0x528b87
shl ebx, 8
lea esi, [edi + edx*8 + 3]
movzx esi, byte [esi]
or esi, ebx
mov word [esp + 0x54], si
mov ebx, dword [esp + 0x12c]
lea esi, [ebx + 4]
cmp esi, ebp
jae 0x528b7e
lea esi, [edi + edx*8 + 4]
movzx esi, byte [esi]
add ebx, 5
cmp ebx, ebp
jae 0x528b75
shl esi, 8
lea ebx, [edi + edx*8 + 5]
movzx ebx, byte [ebx]
or ebx, esi
mov word [esp + 0x5a], bx
mov esi, dword [esp + 0x12c]
lea ebx, [esi + 6]
cmp ebx, ebp
jae 0x528b6c
lea ebx, [edi + edx*8 + 6]
movzx ebx, byte [ebx]
add esi, 7
cmp esi, ebp
jb 0x5289db
jmp 0x528b63
mov edx, dword [esp + 0x2dc]
mov ebx, dword [esp + 0xe8]
jmp 0x52812b
mov eax, esi
mov ecx, ebp
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov eax, esi
mov ecx, ebp
call fcn.00465e00
mov eax, esi
mov ecx, ebp
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
lea eax, [edi + esi*2 + 5]
movzx eax, byte [eax]
mov ecx, dword [esp + 0x2c0]
mov dword [esp], ecx
mov edx, dword [esp + 0x94]
mov dword [esp + 4], edx
mov ebp, dword [esp + 0xf4]
mov dword [esp + 8], ebp
movzx esi, word [esp + 0x50]
mov word [esp + 0xc], si
movzx esi, word [esp + 0x56]
mov word [esp + 0xe], si
shl ebx, 8
or eax, ebx
mov word [esp + 0x10], ax
mov word [esp + 0x12], 0xffff
call fcn.004bb6d0
mov eax, dword [esp + 0x94]
inc eax
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x2c0]
mov ebx, dword [esp + 0x2f4]
mov ebp, dword [esp + 0x130]
mov esi, dword [esp + 0xf4]
mov ecx, dword [esp + 0x2fc]
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0x30c]
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x134]
mov ebx, dword [esp + 0x94]
cmp ebx, esi
jge 0x528cf8
lea edx, [ebx + ebx*2]
mov dword [esp + 0x12c], edx
shl edx, 1
cmp edx, ebp
jae 0x528d38
mov dword [esp + 0x128], edx
mov esi, dword [esp + 0x12c]
lea ebx, [edi + esi*2]
movzx ebx, byte [ebx]
inc edx
cmp edx, ebp
jae 0x528d2f
shl ebx, 8
lea edx, [edi + esi*2 + 1]
movzx edx, byte [edx]
or edx, ebx
mov word [esp + 0x50], dx
mov ebx, dword [esp + 0x128]
lea edx, [ebx + 2]
cmp edx, ebp
jae 0x528d26
lea edx, [edi + esi*2 + 2]
movzx edx, byte [edx]
add ebx, 3
cmp ebx, ebp
jae 0x528d1d
shl edx, 8
lea ebx, [edi + esi*2 + 3]
movzx ebx, byte [ebx]
or ebx, edx
mov word [esp + 0x56], bx
mov edx, dword [esp + 0x128]
lea ebx, [edx + 4]
cmp ebx, ebp
jae 0x528d14
lea ebx, [edi + esi*2 + 4]
movzx ebx, byte [ebx]
add edx, 5
cmp edx, ebp
jb 0x528bab
jmp 0x528d0b
mov edx, dword [esp + 0x2dc]
mov ebx, dword [esp + 0xe8]
jmp 0x52812b
mov eax, edx
mov ecx, ebp
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov eax, edx
mov ecx, ebp
call fcn.00465e00
mov eax, edx
mov ecx, ebp
call fcn.00465e00
mov eax, edx
mov ecx, ebp
call fcn.00465e00
mov ecx, dword [esp + 0x2d8]
mov dword [esp], ecx
mov ebp, dword [esp + 0x98]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xf4]
mov dword [esp + 8], esi
mov word [esp + 0xc], dx
mov word [esp + 0xe], ax
mov word [esp + 0x10], bx
movzx eax, word [esp + 0x5c]
mov word [esp + 0x12], ax
call fcn.004bc470
mov eax, dword [esp + 0x98]
inc eax
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x2d8]
movzx ebx, word [esp + 0x48]
mov ebp, dword [esp + 0x130]
mov esi, dword [esp + 0x2f4]
mov edi, dword [esp + 0xf4]
mov ecx, dword [esp + 0x2fc]
movzx edx, word [esp + 0x4a]
movzx ebx, word [esp + 0x4c]
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x134]
mov ebx, dword [esp + 0x98]
cmp ebx, esi
jge 0x528f06
lea esi, [ebx + ebx*2]
mov dword [esp + 0x12c], esi
shl esi, 1
cmp esi, ebp
jae 0x528f3f
mov dword [esp + 0x128], esi
mov ebx, dword [esp + 0x12c]
lea edx, [edi + ebx*2]
movzx edx, byte [edx]
inc esi
cmp esi, ebp
jae 0x528f36
shl edx, 8
lea esi, [edi + ebx*2 + 1]
movzx esi, byte [esi]
or esi, edx
mov word [esp + 0x52], si
mov edx, dword [esp + 0x128]
lea esi, [edx + 2]
cmp esi, ebp
jae 0x528f2d
lea esi, [edi + ebx*2 + 2]
movzx esi, byte [esi]
add edx, 3
cmp edx, ebp
jae 0x528f24
shl esi, 8
lea edx, [edi + ebx*2 + 3]
movzx edx, byte [edx]
or edx, esi
mov word [esp + 0x58], dx
mov esi, dword [esp + 0x128]
lea edx, [esi + 4]
cmp edx, ebp
jae 0x528f1b
lea edx, [edi + ebx*2 + 4]
movzx edx, byte [edx]
add esi, 5
cmp esi, ebp
jae 0x528f12
shl edx, 8
lea ebx, [edi + ebx*2 + 5]
movzx ebx, byte [ebx]
or ebx, edx
movzx edx, word [esp + 0x52]
movzx esi, word [esp + 0x48]
cmp dx, si
jne 0x528edd
movzx eax, word [esp + 0x58]
movzx ecx, word [esp + 0x4a]
cmp ax, cx
jne 0x528ed6
movzx ecx, word [esp + 0x4c]
cmp bx, cx
jne 0x528ee7
mov word [esp + 0x280], ax
xor eax, eax
mov word [esp + 0x5c], ax
movzx eax, word [esp + 0x280]
jmp 0x528d41
movzx ecx, word [esp + 0x4c]
jmp 0x528ee7
movzx eax, word [esp + 0x58]
movzx ecx, word [esp + 0x4c]
mov word [esp + 0x288], ax
mov eax, 0xffffffff
mov word [esp + 0x5c], ax
movzx eax, word [esp + 0x288]
jmp 0x528d41
mov edx, dword [esp + 0x2f0]
jmp 0x528cf8
mov eax, esi
mov ecx, ebp
call fcn.00465e00
mov eax, edx
mov ecx, ebp
call fcn.00465e00
mov eax, edx
mov ecx, ebp
call fcn.00465e00
mov eax, esi
mov ecx, ebp
call fcn.00465e00
mov eax, esi
mov ecx, ebp
call fcn.00465e00
mov eax, esi
mov ecx, ebp
call fcn.00465e00
lea eax, [edi + edx*4 + 3]
movzx eax, byte [eax]
mov ecx, dword [esp + 0x2d8]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov ebp, dword [esp + 0xf4]
mov dword [esp + 8], ebp
movzx esi, word [esp + 0x44]
mov word [esp + 0xc], si
mov word [esp + 0xe], si
mov word [esp + 0x10], si
shl ebx, 8
or eax, ebx
mov word [esp + 0x12], ax
call fcn.004bc470
mov eax, dword [esp + 0x9c]
inc eax
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x2d8]
mov ebx, dword [esp + 0x2f4]
mov ebp, dword [esp + 0x130]
mov esi, dword [esp + 0xf4]
mov ecx, dword [esp + 0x2fc]
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0x30c]
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x134]
mov ebx, dword [esp + 0x9c]
cmp ebx, esi
jge 0x529045
shl ebx, 2
cmp ebx, ebp
jae 0x529073
mov dword [esp + 0x12c], ebx
mov edx, dword [esp + 0x9c]
lea esi, [edi + edx*4]
movzx esi, byte [esi]
inc ebx
cmp ebx, ebp
jae 0x52906a
shl esi, 8
lea ebx, [edi + edx*4 + 1]
movzx ebx, byte [ebx]
or ebx, esi
mov word [esp + 0x44], bx
mov esi, dword [esp + 0x12c]
lea ebx, [esi + 2]
cmp ebx, ebp
jae 0x529061
lea ebx, [edi + edx*4 + 2]
movzx ebx, byte [ebx]
add esi, 3
cmp esi, ebp
jb 0x528f48
jmp 0x529058
mov edx, dword [esp + 0x2dc]
mov ebx, dword [esp + 0xe8]
jmp 0x52812b
mov eax, esi
mov ecx, ebp
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
lea eax, [edi + edx*2 + 1]
movzx eax, byte [eax]
mov ecx, dword [esp + 0x2e4]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf4]
mov dword [esp + 8], ebx
shl esi, 8
or eax, esi
mov word [esp + 0xc], ax
call fcn.004bcf60
mov eax, dword [esp + 0xa0]
inc eax
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x2e4]
mov ebx, dword [esp + 0x130]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0x2f4]
mov ecx, dword [esp + 0x2fc]
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0x30c]
mov ebp, dword [esp + 0x130]
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x134]
mov ebx, dword [esp + 0xa0]
cmp ebx, esi
jge 0x529137
shl ebx, 1
cmp ebx, ebp
jae 0x529153
mov edx, dword [esp + 0xa0]
lea esi, [edi + edx*2]
movzx esi, byte [esi]
inc ebx
cmp ebx, ebp
jb 0x52907c
jmp 0x52914a
mov edx, dword [esp + 0x2dc]
mov ebx, dword [esp + 0xe8]
jmp 0x52812b
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov eax, dword [esp + 0x2d8]
mov dword [esp], eax
mov dword [esp + 4], esi
mov ecx, dword [esp + 0xf4]
mov dword [esp + 8], ecx
mov word [esp + 0xc], dx
mov word [esp + 0xe], dx
mov word [esp + 0x10], dx
movzx edx, word [esp + 0x5e]
mov word [esp + 0x12], dx
call fcn.004bc470
mov eax, dword [esp + 0xa4]
inc eax
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x2d8]
movzx ebx, word [esp + 0x46]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0x2f4]
mov edi, dword [esp + 0x130]
mov ecx, dword [esp + 0x2fc]
mov edx, dword [esp + 0x2f0]
mov ebp, edi
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x134]
mov edx, dword [esp + 0xa4]
cmp edx, esi
jge 0x529251
shl edx, 1
cmp edx, ebp
jae 0x529266
mov esi, dword [esp + 0xa4]
lea ebx, [edi + esi*2]
movzx ebx, byte [ebx]
inc edx
cmp edx, ebp
jae 0x52925d
shl ebx, 8
lea edx, [edi + esi*2 + 1]
movzx edx, byte [edx]
or edx, ebx
movzx ebx, word [esp + 0x46]
cmp dx, bx
jne 0x52923b
mov dword [esp + 0x258], eax
xor eax, eax
mov word [esp + 0x5e], ax
jmp 0x52915c
mov dword [esp + 0x260], eax
mov eax, 0xffffffff
mov word [esp + 0x5e], ax
jmp 0x52915c
mov edx, dword [esp + 0x2f0]
jmp 0x529137
mov eax, edx
mov ecx, ebp
call fcn.00465e00
mov eax, edx
mov ecx, ebp
call fcn.00465e00
mov eax, edi
mov ecx, ebx
call fcn.00465e60
mov ebx, dword [esi + 4]
mov edx, dword [esi]
mov esi, dword [esi + 8]
mov edi, dword [esp + 0xe8]
cmp edi, ebx
ja 0x5292eb
sub ebx, edi
sub esi, edi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edi
add edx, esi
cmp ebx, ebp
jg 0x5292a2
mov ebp, ebx
mov ebx, dword [esp + 0x2f4]
cmp edx, ebx
je 0x5292d2
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.004666e0
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x2fc]
mov edi, dword [esp + 0xe8]
mov ebp, dword [esp + 0x2d4]
mov esi, dword [ebp + 0xc]
lea ebx, [edi + esi]
mov edx, dword [esp + 0x2dc]
jmp 0x52812b
mov eax, edi
mov ecx, ebx
call fcn.00465e60
inc ebx
mov ebp, dword [esp + 0xe0]
mov edi, dword [esp + 0x2f4]
mov ebp, dword [esp + 0x130]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x30c]
mov ebx, dword [esp + 0xa8]
mov edi, dword [esp + 0xe0]
cmp ebx, edi
jge 0x52935d
mov edi, dword [esi + 0x28]
mov esi, dword [esi + 0x24]
cmp ebx, ebp
jae 0x529379
mov ebp, dword [esp + 0x2f4]
movzx ebp, byte [ebx + ebp]
cmp esi, ebp
jg 0x529354
inc ebp
cmp edi, ebp
jb 0x529370
mov esi, dword [esp + 0x2d4]
mov dword [esi + 0x24], ebp
jmp 0x5292f4
mov esi, dword [esp + 0x2d4]
jmp 0x5292f4
mov ebx, dword [esp + 0x30c]
mov edi, dword [esp + 0x2f4]
jmp 0x529278
mov ecx, ebp
mov edx, edi
call fcn.00465e40
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
lea ebx, [esi + 2]
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0x2d4]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0xac], ebx
mov ebx, dword [esp + 0x30c]
mov ebx, dword [esp + 0xac]
cmp ebx, esi
jge 0x5293f3
shr ebx, 0x1f
mov esi, dword [esp + 0xac]
add ebx, esi
sar ebx, 1
cmp ebx, ebp
jae 0x529535
movzx ebx, byte [ebx + edi]
mov dword [esp + 0x240], eax
xor eax, eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x240]
jmp 0x52942e
mov ebp, dword [esp + 0x130]
mov esi, dword [esp + 0xac]
jmp 0x529382
mov edx, dword [esp + 0x2dc]
mov ebx, dword [esp + 0xe8]
jmp 0x52812b
mov ebx, dword [esp + 0x6c]
inc ebx
movzx ebp, byte [esp + 0x34]
shl ebp, 4
mov esi, dword [esp + 0xac]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0x6c], ebx
mov ebx, ebp
mov ebp, dword [esp + 0x130]
mov edi, dword [esp + 0x6c]
cmp edi, 2
jge 0x529382
lea ebp, [edi + esi]
mov esi, dword [esp + 0xe0]
cmp esi, ebp
jle 0x5293e3
mov byte [esp + 0x34], bl
shr bl, 4
mov byte [esp + 0x2f], bl
mov esi, dword [esp + 0x2d4]
mov edi, dword [esi + 0x28]
movzx ebx, bl
cmp dword [esi + 0x24], ebx
jg 0x529472
inc ebx
cmp edi, ebx
jb 0x52952c
mov dword [esi + 0x24], ebx
mov ebx, dword [esi + 0x10]
mov edi, dword [esi + 0x14]
mov dword [esp + 0x12c], edi
mov edi, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp ebx, ebp
jg 0x529517
cmp edi, ebp
jle 0x52950b
mov dword [esp + 0x128], ebx
mov edi, dword [esp + 0xf4]
mov ebx, dword [esp + 0x12c]
cmp edi, ebx
jl 0x529406
cmp edi, esi
jge 0x529406
mov dword [esp + 0x12c], ebp
nop
mov esi, dword [esp + 0x2d4]
mov ebp, dword [esi + 4]
mov dword [esp + 0x124], ebp
mov ebp, dword [esi]
sub edi, ebx
imul edi, dword [esi + 0xc]
mov ebx, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
sub ebx, esi
add ebx, edi
mov esi, dword [esp + 0x124]
cmp esi, ebx
jbe 0x529523
movzx esi, byte [esp + 0x2f]
xchg esi, eax
mov byte [ebp + ebx], al
xchg esi, eax
mov edi, dword [esp + 0xf4]
jmp 0x529406
mov edi, dword [esp + 0xf4]
jmp 0x529406
mov edi, dword [esp + 0xf4]
jmp 0x529406
mov eax, ebx
mov ecx, esi
call fcn.00465e00
mov ecx, ebx
mov edx, edi
call fcn.00465e40
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
lea ebx, [esi + 4]
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0x2d4]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0xb0], ebx
mov ebx, dword [esp + 0x30c]
mov ebx, dword [esp + 0xb0]
cmp ebx, esi
jge 0x5295b3
sar ebx, 0x1f
shr ebx, 0x1e
mov esi, dword [esp + 0xb0]
add ebx, esi
sar ebx, 2
cmp ebx, ebp
jae 0x5296f5
movzx ebx, byte [ebx + edi]
mov dword [esp + 0x230], eax
xor eax, eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x230]
jmp 0x5295ee
mov ebp, dword [esp + 0x130]
mov esi, dword [esp + 0xb0]
jmp 0x52953e
mov edx, dword [esp + 0x2dc]
mov ebx, dword [esp + 0xe8]
jmp 0x52812b
mov ebx, dword [esp + 0x70]
inc ebx
movzx ebp, byte [esp + 0x35]
shl ebp, 2
mov esi, dword [esp + 0xb0]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0x70], ebx
mov ebx, ebp
mov ebp, dword [esp + 0x130]
mov edi, dword [esp + 0x70]
cmp edi, 4
jge 0x52953e
lea ebp, [edi + esi]
mov esi, dword [esp + 0xe0]
cmp esi, ebp
jle 0x5295a3
mov byte [esp + 0x35], bl
shr bl, 6
mov byte [esp + 0x30], bl
mov esi, dword [esp + 0x2d4]
mov edi, dword [esi + 0x28]
movzx ebx, bl
cmp dword [esi + 0x24], ebx
jg 0x529632
inc ebx
cmp edi, ebx
jb 0x5296ec
mov dword [esi + 0x24], ebx
mov ebx, dword [esi + 0x10]
mov edi, dword [esi + 0x14]
mov dword [esp + 0x12c], edi
mov edi, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp ebx, ebp
jg 0x5296d7
cmp edi, ebp
jle 0x5296cb
mov dword [esp + 0x128], ebx
mov edi, dword [esp + 0xf4]
mov ebx, dword [esp + 0x12c]
cmp edi, ebx
jl 0x5295c6
cmp edi, esi
jge 0x5295c6
mov dword [esp + 0x12c], ebp
nop
mov esi, dword [esp + 0x2d4]
mov ebp, dword [esi + 4]
mov dword [esp + 0x124], ebp
mov ebp, dword [esi]
sub edi, ebx
imul edi, dword [esi + 0xc]
mov ebx, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
sub ebx, esi
add ebx, edi
mov esi, dword [esp + 0x124]
cmp esi, ebx
jbe 0x5296e3
movzx esi, byte [esp + 0x30]
xchg esi, eax
mov byte [ebp + ebx], al
xchg esi, eax
mov edi, dword [esp + 0xf4]
jmp 0x5295c6
mov edi, dword [esp + 0xf4]
jmp 0x5295c6
mov edi, dword [esp + 0xf4]
jmp 0x5295c6
mov eax, ebx
mov ecx, esi
call fcn.00465e00
mov ecx, ebx
mov edx, edi
call fcn.00465e40
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
lea ebx, [esi + 8]
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0x2d4]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0x30c]
mov ebx, dword [esp + 0xb4]
cmp ebx, esi
jge 0x529773
sar ebx, 0x1f
shr ebx, 0x1d
mov esi, dword [esp + 0xb4]
add ebx, esi
sar ebx, 3
cmp ebx, ebp
jae 0x5298b4
movzx ebx, byte [ebx + edi]
mov dword [esp + 0x220], eax
xor eax, eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x220]
jmp 0x5297ad
mov ebp, dword [esp + 0x130]
mov esi, dword [esp + 0xb4]
jmp 0x5296fe
mov edx, dword [esp + 0x2dc]
mov ebx, dword [esp + 0xe8]
jmp 0x52812b
mov ebx, dword [esp + 0x74]
inc ebx
movzx ebp, byte [esp + 0x36]
shl ebp, 1
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0x74], ebx
mov ebx, ebp
mov ebp, dword [esp + 0x130]
mov edi, dword [esp + 0x74]
cmp edi, 8
jge 0x5296fe
lea ebp, [edi + esi]
mov esi, dword [esp + 0xe0]
cmp esi, ebp
jle 0x529763
mov byte [esp + 0x36], bl
shr bl, 7
mov byte [esp + 0x31], bl
mov esi, dword [esp + 0x2d4]
mov edi, dword [esi + 0x28]
movzx ebx, bl
cmp dword [esi + 0x24], ebx
jg 0x5297f1
inc ebx
cmp edi, ebx
jb 0x5298ab
mov dword [esi + 0x24], ebx
mov ebx, dword [esi + 0x10]
mov edi, dword [esi + 0x14]
mov dword [esp + 0x12c], edi
mov edi, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp ebx, ebp
jg 0x529896
cmp edi, ebp
jle 0x52988a
mov dword [esp + 0x128], ebx
mov edi, dword [esp + 0xf4]
mov ebx, dword [esp + 0x12c]
cmp edi, ebx
jl 0x529786
cmp edi, esi
jge 0x529786
mov dword [esp + 0x12c], ebp
nop
mov esi, dword [esp + 0x2d4]
mov ebp, dword [esi + 4]
mov dword [esp + 0x124], ebp
mov ebp, dword [esi]
sub edi, ebx
imul edi, dword [esi + 0xc]
mov ebx, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
sub ebx, esi
add ebx, edi
mov esi, dword [esp + 0x124]
cmp esi, ebx
jbe 0x5298a2
movzx esi, byte [esp + 0x31]
xchg esi, eax
mov byte [ebp + ebx], al
xchg esi, eax
mov edi, dword [esp + 0xf4]
jmp 0x529786
mov edi, dword [esp + 0xf4]
jmp 0x529786
mov edi, dword [esp + 0xf4]
jmp 0x529786
mov eax, ebx
mov ecx, esi
call fcn.00465e00
mov ecx, ebx
mov edx, edi
call fcn.00465e40
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov byte [edi + ebp + 3], 0xff
mov edx, dword [esp + 0xb8]
inc edx
add edi, 4
add ebx, 3
mov ebp, dword [esp + 0x130]
mov esi, dword [esp + 0x2c8]
mov dword [esp + 0xb8], edx
mov dword [esp + 0x104], edi
mov dword [esp + 0xf8], ebx
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x30c]
mov edi, dword [esp + 0x2f4]
mov ebx, dword [esp + 0xb8]
mov esi, dword [esp + 0xe0]
cmp ebx, esi
jge 0x5299b9
mov esi, dword [esp + 0xf8]
cmp esi, ebp
jae 0x529a0e
movzx ebx, byte [esi + edi]
mov edi, dword [esp + 0x104]
cmp edi, edx
jae 0x529a05
mov edx, dword [esp + 0x2c8]
mov byte [edx + edi], bl
lea ebx, [esi + 1]
cmp ebx, ebp
jae 0x5299fc
lea ebx, [edi + 1]
mov ebp, dword [esp + 0x2f4]
movzx ebp, byte [esi + ebp + 1]
mov esi, dword [esp + 0xec]
cmp esi, ebx
jbe 0x5299f3
xchg ebp, eax
mov byte [edi + edx + 1], al
xchg ebp, eax
mov ebx, dword [esp + 0xf8]
lea ebp, [ebx + 2]
mov edx, dword [esp + 0x130]
cmp ebp, edx
jae 0x5299ea
lea ebp, [edi + 2]
mov edx, dword [esp + 0x2f4]
movzx edx, byte [ebx + edx + 2]
cmp esi, ebp
jbe 0x5299e1
mov ebp, dword [esp + 0x2c8]
mov byte [edi + ebp + 2], dl
lea edx, [edi + 3]
cmp esi, edx
ja 0x5298bd
jmp 0x5299d8
mov edx, dword [esp + 0x2c4]
mov ebx, dword [edx + 0xc]
mov ebp, dword [esp + 0xe8]
add ebx, ebp
mov edx, dword [esp + 0x2dc]
jmp 0x52812b
mov eax, edx
mov ecx, esi
call fcn.00465e00
mov eax, ebp
mov ecx, esi
call fcn.00465e00
mov eax, ebp
mov ecx, edx
call fcn.00465e00
mov eax, ebx
mov ecx, esi
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov eax, edi
mov ecx, edx
call fcn.00465e00
mov eax, esi
mov ecx, ebp
call fcn.00465e00
movzx esi, byte [esp + 0x42]
xchg esi, eax
mov byte [ebp + ebx + 3], al
xchg esi, eax
mov esi, dword [esp + 0xbc]
inc esi
add ebp, 4
mov edi, dword [esp + 0xfc]
add edi, 3
movzx edx, byte [esp + 0x2d]
mov ebx, dword [esp + 0x30c]
mov dword [esp + 0xbc], esi
mov dword [esp + 0x108], ebp
mov dword [esp + 0xfc], edi
mov ebp, dword [esp + 0x130]
movzx esi, byte [esp + 0x2b]
mov edi, dword [esp + 0x2f4]
mov ebx, dword [esp + 0xbc]
mov edx, dword [esp + 0xe0]
cmp ebx, edx
jge 0x529b76
mov edx, dword [esp + 0xfc]
cmp edx, ebp
jae 0x529bd4
movzx ebx, byte [edx + edi]
mov byte [esp + 0x2e], bl
lea ebx, [edx + 1]
cmp ebx, ebp
jae 0x529bcb
movzx ebx, byte [edx + edi + 1]
mov byte [esp + 0x32], bl
lea ebx, [edx + 2]
cmp ebx, ebp
jae 0x529bc2
movzx ebx, byte [edx + edi + 2]
movzx edi, byte [esp + 0x2e]
xchg edi, eax
xchg esi, ebx
cmp al, bl
xchg esi, ebx
xchg edi, eax
jne 0x529b07
movzx esi, byte [esp + 0x32]
movzx ebp, byte [esp + 0x2c]
xchg esi, eax
xchg ebp, ebx
cmp al, bl
xchg ebp, ebx
xchg esi, eax
jne 0x529b00
movzx ebp, byte [esp + 0x2d]
xchg ebp, eax
cmp bl, al
xchg ebp, eax
jne 0x529b11
mov dword [esp + 0x1f0], eax
xor eax, eax
mov byte [esp + 0x42], al
mov eax, dword [esp + 0x1f0]
jmp 0x529b28
movzx ebp, byte [esp + 0x2d]
jmp 0x529b11
movzx ebp, byte [esp + 0x2d]
movzx esi, byte [esp + 0x32]
mov dword [esp + 0x1f8], eax
mov eax, 0xffffffff
mov byte [esp + 0x42], al
mov eax, dword [esp + 0x1f8]
mov ebp, dword [esp + 0x108]
mov edx, dword [esp + 0xf0]
cmp ebp, edx
jae 0x529bb9
mov byte [esp + 0x37], bl
mov ebx, dword [esp + 0x2cc]
xchg edi, eax
mov byte [ebx + ebp], al
xchg edi, eax
lea edi, [ebp + 1]
cmp edx, edi
jbe 0x529bb0
xchg esi, eax
mov byte [ebp + ebx + 1], al
xchg esi, eax
lea esi, [ebp + 2]
cmp edx, esi
jbe 0x529ba7
movzx esi, byte [esp + 0x37]
xchg esi, eax
mov byte [ebp + ebx + 2], al
xchg esi, eax
lea esi, [ebp + 3]
cmp edx, esi
ja 0x529a17
jmp 0x529b9e
mov ebp, dword [esp + 0x2dc]
mov edi, dword [ebp + 0xc]
mov ebp, dword [esp + 0xe8]
add ebp, edi
mov edx, dword [esp + 0x2c4]
mov esi, dword [esp + 0xe0]
mov ebx, ebp
jmp 0x5299cc
mov eax, esi
mov ecx, edx
call fcn.00465e00
mov eax, esi
mov ecx, edx
call fcn.00465e00
mov eax, edi
mov ecx, edx
call fcn.00465e00
mov eax, ebp
mov ecx, edx
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov eax, edx
mov ecx, ebp
call fcn.00465e00
lea eax, [edi + edx*2 + 1]
movzx eax, byte [eax]
mov ecx, dword [esp + 0x2dc]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf4]
mov dword [esp + 8], ebx
xchg esi, eax
mov byte [esp + 0xc], al
xchg esi, eax
xchg esi, eax
mov byte [esp + 0xd], al
xchg esi, eax
xchg esi, eax
mov byte [esp + 0xe], al
xchg esi, eax
mov byte [esp + 0xf], al
call fcn.004bbd80
mov eax, dword [esp + 0xc0]
inc eax
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x2dc]
mov ebx, dword [esp + 0x130]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0x2f4]
mov ecx, dword [esp + 0x2fc]
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0x30c]
mov ebp, dword [esp + 0x130]
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x134]
mov ebx, dword [esp + 0xc0]
cmp ebx, esi
jge 0x529ca4
shl ebx, 1
cmp ebx, ebp
jae 0x529cc0
mov edx, dword [esp + 0xc0]
lea esi, [edi + edx*2]
movzx esi, byte [esi]
inc ebx
cmp ebx, ebp
jb 0x529bdd
jmp 0x529cb7
mov edx, dword [esp + 0x2dc]
mov ebx, dword [esp + 0xe8]
jmp 0x52812b
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov edx, dword [esp + 0x2dc]
jmp 0x52812b
mov eax, edi
mov ecx, ebx
call fcn.00465e60
mov ecx, dword [esp + 0x2dc]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov edx, dword [esp + 0xf4]
mov dword [esp + 8], edx
mov byte [esp + 0xc], al
mov byte [esp + 0xd], al
mov byte [esp + 0xe], al
movzx eax, byte [esp + 0x3e]
mov byte [esp + 0xf], al
call fcn.004bbd80
mov eax, dword [esp + 0xc4]
inc eax
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x2dc]
movzx ebx, byte [esp + 0x27]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0x2f4]
mov edi, dword [esp + 0x130]
mov ecx, dword [esp + 0x2fc]
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0x30c]
mov ebp, edi
movzx esi, byte [esp + 0x27]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x134]
mov ebx, dword [esp + 0xc4]
mov edx, dword [esp + 0xe0]
cmp ebx, edx
jge 0x529dcb
cmp ebx, ebp
jae 0x529dde
movzx eax, byte [ebx + edi]
xchg esi, ebx
cmp al, bl
xchg esi, ebx
jne 0x529dae
mov byte [esp + 0x1d0], al
xor eax, eax
mov byte [esp + 0x3e], al
movzx eax, byte [esp + 0x1d0]
jmp 0x529cde
mov byte [esp + 0x1d8], al
mov eax, 0xffffffff
mov byte [esp + 0x3e], al
movzx eax, byte [esp + 0x1d8]
jmp 0x529cde
mov edx, dword [esp + 0x304]
mov ebx, dword [esp + 0xe8]
jmp 0x529cc9
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
add edx, 2
mov ebx, dword [esp + 0x304]
mov edi, dword [esp + 0xf4]
mov ebx, dword [esp + 0x30c]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0xc8], edx
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0xc8]
cmp ebx, esi
jge 0x529e58
shr ebx, 0x1f
mov edx, dword [esp + 0xc8]
add ebx, edx
sar ebx, 1
cmp ebx, ebp
jae 0x529f65
movzx ebx, byte [ebx + edi]
mov dword [esp + 0x1c0], eax
xor eax, eax
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x1c0]
jmp 0x529ea1
mov ebp, dword [esp + 0x130]
jmp 0x529de7
mov edx, dword [esp + 0x2dc]
mov ebx, dword [esp + 0xe8]
jmp 0x52812b
mov edx, dword [esp + 0x78]
inc edx
movzx ebx, byte [esp + 0x38]
shl ebx, 4
mov ebp, dword [esp + 0xc8]
mov edi, dword [esp + 0xe0]
mov ebp, dword [esp + 0x130]
mov esi, edi
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xc8]
mov edi, dword [esp + 0x78]
cmp edi, 2
jge 0x529de7
lea ebp, [edi + edx]
cmp esi, ebp
jle 0x529e4f
mov byte [esp + 0x38], bl
shr bl, 4
mov byte [esp + 0x43], bl
shl ebx, 4
movzx esi, byte [esp + 0x43]
add ebx, esi
mov byte [esp + 0x33], bl
mov esi, dword [esp + 0x304]
mov ebx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov edi, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp ebx, ebp
jg 0x529f49
cmp edi, ebp
jle 0x529f40
mov edi, dword [esp + 0xf4]
cmp edi, edx
jl 0x529f50
cmp edi, esi
jge 0x529f50
mov dword [esp + 0x12c], ebx
nop
mov esi, dword [esp + 0x304]
mov ebx, dword [esi + 4]
mov dword [esp + 0x128], ebx
mov ebx, dword [esi]
sub edi, edx
imul edi, dword [esi + 0xc]
mov edx, dword [esp + 0x12c]
sub ebp, edx
lea edx, [ebp + edi]
mov ebp, dword [esp + 0x128]
cmp ebp, edx
jbe 0x529f5c
movzx ebp, byte [esp + 0x33]
xchg ebp, eax
mov byte [ebx + edx], al
xchg ebp, eax
jmp 0x529e6b
mov edi, dword [esp + 0xf4]
jmp 0x529f50
mov edi, dword [esp + 0xf4]
mov esi, dword [esp + 0x304]
jmp 0x529e6b
mov eax, edx
mov ecx, ebp
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
lea ebx, [esi + 2]
mov esi, dword [esp + 0x2dc]
movzx edi, byte [esp + 0x28]
mov edx, dword [esp + 0x2f0]
mov esi, edi
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0xcc], ebx
mov ebx, dword [esp + 0x30c]
mov ebx, dword [esp + 0xcc]
mov edx, dword [esp + 0xe0]
cmp ebx, edx
jge 0x529fe0
shr ebx, 0x1f
mov esi, dword [esp + 0xcc]
add ebx, esi
sar ebx, 1
cmp ebx, ebp
jae 0x52a0e7
movzx ebx, byte [ebx + edi]
mov dword [esp + 0x1b0], eax
xor eax, eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x1b0]
jmp 0x52a07b
mov edx, dword [esp + 0x2f0]
mov esi, dword [esp + 0xe0]
jmp 0x529e58
mov ecx, dword [esp + 0x2dc]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov edx, dword [esp + 0xf4]
mov dword [esp + 8], edx
mov byte [esp + 0xc], al
mov byte [esp + 0xd], al
mov byte [esp + 0xe], al
movzx eax, byte [esp + 0x3f]
mov byte [esp + 0xf], al
call fcn.004bbd80
mov eax, dword [esp + 0x7c]
inc eax
movzx ebx, byte [esp + 0x39]
shl ebx, 4
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x2dc]
movzx esi, byte [esp + 0x28]
mov edi, dword [esp + 0xf4]
mov ecx, dword [esp + 0x2fc]
mov ebp, dword [esp + 0x130]
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x134]
mov edi, dword [esp + 0x7c]
cmp edi, 2
jge 0x529f6e
add edi, esi
cmp edx, edi
jle 0x529f6e
mov byte [esp + 0x39], bl
shr bl, 4
mov byte [esp + 0x43], bl
shl ebx, 4
movzx eax, byte [esp + 0x43]
add eax, ebx
movzx ebx, byte [esp + 0x28]
cmp bl, al
jne 0x52a0ca
mov byte [esp + 0x1a0], al
xor eax, eax
mov byte [esp + 0x3f], al
movzx eax, byte [esp + 0x1a0]
jmp 0x529ff3
mov byte [esp + 0x1a8], al
mov eax, 0xffffffff
mov byte [esp + 0x3f], al
movzx eax, byte [esp + 0x1a8]
jmp 0x529ff3
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
add edx, 4
mov ebx, dword [esp + 0x304]
mov edi, dword [esp + 0xf4]
mov ebx, dword [esp + 0x30c]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0xd0], edx
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0xd0]
cmp ebx, esi
jge 0x52a168
sar ebx, 0x1f
shr ebx, 0x1e
mov edx, dword [esp + 0xd0]
add ebx, edx
sar ebx, 2
cmp ebx, ebp
jae 0x52a27a
movzx ebx, byte [ebx + edi]
mov dword [esp + 0x190], eax
xor eax, eax
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x190]
jmp 0x52a1b9
mov ebp, dword [esp + 0x130]
jmp 0x52a0f0
mov edx, dword [esp + 0x2dc]
mov ebx, dword [esp + 0xe8]
jmp 0x52812b
mov edx, dword [esp + 0x80]
inc edx
shl edi, 2
mov ebx, dword [esp + 0xd0]
mov ebp, dword [esp + 0xe0]
mov ebp, dword [esp + 0x130]
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x80], edx
mov ebx, edi
mov edx, dword [esp + 0xd0]
mov edi, dword [esp + 0x2f4]
mov edi, dword [esp + 0x80]
cmp edi, 4
jge 0x52a0f0
lea ebp, [edi + edx]
cmp esi, ebp
jle 0x52a15f
mov byte [esp + 0x3a], bl
mov esi, dword [esp + 0x304]
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 0x14]
mov edi, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp edx, ebp
jg 0x52a259
cmp edi, ebp
jle 0x52a250
mov edi, dword [esp + 0xf4]
cmp edi, ebx
jl 0x52a260
cmp edi, esi
jge 0x52a260
mov dword [esp + 0x12c], edx
nop
mov esi, dword [esp + 0x304]
mov edx, dword [esi + 4]
mov dword [esp + 0x128], edx
mov edx, dword [esi]
sub edi, ebx
imul edi, dword [esi + 0xc]
mov ebx, dword [esp + 0x12c]
sub ebp, ebx
lea ebx, [ebp + edi]
mov ebp, dword [esp + 0x128]
cmp ebp, ebx
jbe 0x52a271
movzx ebp, byte [esp + 0x3a]
mov edi, ebp
xchg ebp, eax
shr al, 6
xchg ebp, eax
imul ebp, ebp, 0x55
xchg ebp, eax
mov byte [edx + ebx], al
xchg ebp, eax
jmp 0x52a17b
mov edi, dword [esp + 0xf4]
jmp 0x52a260
mov edi, dword [esp + 0xf4]
mov esi, dword [esp + 0x304]
movzx edi, byte [esp + 0x3a]
jmp 0x52a17b
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
lea ebx, [esi + 4]
mov esi, dword [esp + 0x2dc]
movzx edi, byte [esp + 0x29]
mov edx, dword [esp + 0x2f0]
mov esi, edi
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0xd4], ebx
mov ebx, dword [esp + 0x30c]
mov ebx, dword [esp + 0xd4]
mov edx, dword [esp + 0xe0]
cmp ebx, edx
jge 0x52a2fc
sar ebx, 0x1f
shr ebx, 0x1e
mov esi, dword [esp + 0xd4]
add ebx, esi
sar ebx, 2
cmp ebx, ebp
jae 0x52a3f1
movzx ebx, byte [ebx + edi]
mov dword [esp + 0x180], eax
xor eax, eax
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x180]
jmp 0x52a39d
mov edx, dword [esp + 0x2f0]
mov esi, dword [esp + 0xe0]
jmp 0x52a168
mov eax, dword [esp + 0x2dc]
mov dword [esp], eax
mov dword [esp + 4], edi
mov ecx, dword [esp + 0xf4]
mov dword [esp + 8], ecx
mov byte [esp + 0xc], bl
mov byte [esp + 0xd], bl
mov byte [esp + 0xe], bl
movzx edx, byte [esp + 0x40]
mov byte [esp + 0xf], dl
call fcn.004bbd80
mov eax, dword [esp + 0x84]
inc eax
movzx ebx, byte [esp + 0x3b]
shl ebx, 2
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x2dc]
movzx esi, byte [esp + 0x29]
mov edi, dword [esp + 0xf4]
mov ecx, dword [esp + 0x2fc]
mov ebp, dword [esp + 0x130]
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x134]
mov edi, dword [esp + 0x84]
cmp edi, 4
jge 0x52a283
add edi, esi
cmp edx, edi
jle 0x52a283
mov byte [esp + 0x3b], bl
shr bl, 6
imul ebx, ebx, 0x55
movzx eax, byte [esp + 0x29]
cmp al, bl
jne 0x52a3dc
mov byte [esp + 0x170], al
xor eax, eax
mov byte [esp + 0x40], al
jmp 0x52a30f
mov byte [esp + 0x178], al
mov eax, 0xffffffff
mov byte [esp + 0x40], al
jmp 0x52a30f
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
add edx, 8
mov ebx, dword [esp + 0x304]
mov edi, dword [esp + 0xf4]
mov ebx, dword [esp + 0x30c]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0xd8], edx
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0xd8]
cmp ebx, esi
jge 0x52a472
sar ebx, 0x1f
shr ebx, 0x1d
mov edx, dword [esp + 0xd8]
add ebx, edx
sar ebx, 3
cmp ebx, ebp
jae 0x52a586
movzx ebx, byte [ebx + edi]
mov dword [esp + 0x160], eax
xor eax, eax
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x160]
jmp 0x52a4c2
mov ebp, dword [esp + 0x130]
jmp 0x52a3fa
mov edx, dword [esp + 0x2dc]
mov ebx, dword [esp + 0xe8]
jmp 0x52812b
mov edx, dword [esp + 0x88]
inc edx
shl edi, 1
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0xe0]
mov ebp, dword [esp + 0x130]
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x88], edx
mov ebx, edi
mov edx, dword [esp + 0xd8]
mov edi, dword [esp + 0x2f4]
mov edi, dword [esp + 0x88]
cmp edi, 8
jge 0x52a3fa
lea ebp, [edi + edx]
cmp esi, ebp
jle 0x52a469
mov byte [esp + 0x3c], bl
mov esi, dword [esp + 0x304]
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 0x14]
mov edi, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp edx, ebp
jg 0x52a565
cmp edi, ebp
jle 0x52a55c
mov edi, dword [esp + 0xf4]
cmp edi, ebx
jl 0x52a56c
cmp edi, esi
jge 0x52a56c
mov dword [esp + 0x12c], edx
nop
mov esi, dword [esp + 0x304]
mov edx, dword [esi + 4]
mov dword [esp + 0x128], edx
mov edx, dword [esi]
sub edi, ebx
imul edi, dword [esi + 0xc]
mov ebx, dword [esp + 0x12c]
sub ebp, ebx
lea ebx, [ebp + edi]
mov ebp, dword [esp + 0x128]
cmp ebp, ebx
jbe 0x52a57d
movzx ebp, byte [esp + 0x3c]
mov edi, ebp
xchg ebp, eax
shr al, 7
xchg ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
xchg ebp, eax
mov byte [edx + ebx], al
xchg ebp, eax
jmp 0x52a485
mov edi, dword [esp + 0xf4]
jmp 0x52a56c
mov edi, dword [esp + 0xf4]
mov esi, dword [esp + 0x304]
movzx edi, byte [esp + 0x3c]
jmp 0x52a485
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
lea ebx, [esi + 8]
mov esi, dword [esp + 0x2dc]
movzx edi, byte [esp + 0x2a]
mov edx, dword [esp + 0x2f0]
mov esi, edi
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0xdc], ebx
mov ebx, dword [esp + 0x30c]
mov ebx, dword [esp + 0xdc]
mov edx, dword [esp + 0xe0]
cmp ebx, edx
jge 0x52a608
sar ebx, 0x1f
shr ebx, 0x1d
mov esi, dword [esp + 0xdc]
add ebx, esi
sar ebx, 3
cmp ebx, ebp
jae 0x52a6fb
movzx ebx, byte [ebx + edi]
mov dword [esp + 0x150], eax
xor eax, eax
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x150]
jmp 0x52a6a8
mov edx, dword [esp + 0x2f0]
mov esi, dword [esp + 0xe0]
jmp 0x52a472
mov eax, dword [esp + 0x2dc]
mov dword [esp], eax
mov dword [esp + 4], edi
mov ecx, dword [esp + 0xf4]
mov dword [esp + 8], ecx
mov byte [esp + 0xc], bl
mov byte [esp + 0xd], bl
mov byte [esp + 0xe], bl
movzx edx, byte [esp + 0x41]
mov byte [esp + 0xf], dl
call fcn.004bbd80
mov eax, dword [esp + 0x8c]
inc eax
movzx ebx, byte [esp + 0x3d]
shl ebx, 1
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x2dc]
movzx esi, byte [esp + 0x2a]
mov edi, dword [esp + 0xf4]
mov ecx, dword [esp + 0x2fc]
mov ebp, dword [esp + 0x130]
mov esi, dword [esp + 0xdc]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x134]
mov edi, dword [esp + 0x8c]
cmp edi, 8
jge 0x52a58f
add edi, esi
cmp edx, edi
jle 0x52a58f
mov byte [esp + 0x3d], bl
shr bl, 7
neg ebx
movzx eax, byte [esp + 0x2a]
cmp al, bl
jne 0x52a6e6
mov byte [esp + 0x140], al
xor eax, eax
mov byte [esp + 0x41], al
jmp 0x52a61b
mov byte [esp + 0x148], al
mov eax, 0xffffffff
mov byte [esp + 0x41], al
jmp 0x52a61b
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov eax, dword [esp + 0x2d0]
movzx ecx, byte [ebx + eax]
shr cl, 1
add ecx, ebp
mov byte [edi + ebx], cl
lea ecx, [ebx + 1]
mov ebp, dword [esp + 0x130]
mov eax, dword [esp + 0x134]
mov ebx, dword [esp + 0x2d0]
mov dword [esp + 0x110], ecx
mov ecx, dword [esp + 0x2fc]
mov ebx, dword [esp + 0x110]
cmp ebx, esi
jge 0x52a75a
cmp ebx, ebp
jae 0x52a800
movzx ebp, byte [ebx + edi]
jb 0x52a704
jmp 0x52a7f2
mov ebx, dword [esp + 0x2d0]
jmp 0x52a7a2
mov eax, dword [esp + 0x2d0]
movzx ecx, byte [ebx + eax]
add ecx, esi
mov esi, ecx
shr ecx, 0x1f
add ecx, esi
sar ecx, 1
movzx esi, byte [esp + 0x43]
add ecx, esi
mov byte [edi + ebx], cl
lea esi, [ebx + 1]
mov ecx, dword [esp + 0x11c]
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x2fc]
mov ebx, dword [esp + 0x2d0]
cmp esi, ebp
jge 0x5282bf
jae 0x52a7e9
mov dword [esp + 0x10c], esi
movzx ebx, byte [esi + edi]
mov byte [esp + 0x43], bl
mov ebx, dword [esp + 0x11c]
sub esi, ebx
cmp esi, ebp
jae 0x52a7e0
movzx esi, byte [esi + edi]
mov ebx, dword [esp + 0x10c]
cmp ebx, ebp
jb 0x52a763
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov eax, esi
mov ecx, ebp
call fcn.00465e00
mov eax, esi
mov ecx, ebp
call fcn.00465e00
mov eax, ebx
mov ecx, dword [esp + 0x130]
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
movzx eax, byte [esi + edi]
add eax, ebx
mov byte [edi + esi], al
inc esi
mov ebx, dword [esp + 0x2d0]
mov eax, dword [esp + 0x134]
cmp esi, ebp
jge 0x5282bf
movzx ebx, byte [esi + ebx]
jb 0x52a809
mov eax, esi
mov ecx, ebp
call fcn.00465e00
mov eax, dword [esp + 0x2f4]
movzx ebx, byte [ebx + eax]
add ebx, edi
mov edi, dword [esp + 0x114]
mov byte [eax + edi], bl
lea ebx, [edi + 1]
mov eax, dword [esp + 0x134]
mov edi, dword [esp + 0x2f4]
cmp ebx, ebp
jge 0x5282bf
jae 0x52a884
mov dword [esp + 0x114], ebx
movzx edi, byte [ebx + edi]
sub ebx, esi
cmp ebx, ebp
jb 0x52a838
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov eax, 1
xor ecx, ecx
call fcn.00465e60
mov eax, 1
xor ecx, ecx
call fcn.00465e60
call fcn.00435bc0
call fcn.00435bc0
call fcn.00465e00
nop
call fcn.004649b0
jmp fcn.005275a0