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

Disassembly:
sub esp, 0x7c
mov eax, dword [0x78f694]
xor eax, esp
mov dword [esp + 0x78], eax
push ebp
mov ebp, dword [esp + 0x84]
mov dword [esp + 0x64], ecx
mov ecx, dword [ebp + 4]
xor eax, eax
cmp ecx, 0xa
jne 0x53f188
mov dword [ebp + 0xfa14], eax
mov dword [ebp + 0xfa18], eax
mov dword [ebp + 0xfa1c], eax
mov dword [ebp + 0xfa20], eax
mov dword [ebp + 0xfa24], eax
mov dword [ebp + 0xfa28], eax
mov dword [ebp + 0xfa2c], eax
mov dword [ebp + 0xfa30], eax
mov dword [ebp + 0xfa34], eax
mov dword [ebp + 0xfa38], eax
mov dword [ebp + 0xfa3c], eax
mov dword [ebp + 0xfa40], eax
mov dword [ebp + 0xfa44], eax
mov dword [ebp + 0xfa48], eax
mov dword [ebp + 0xfa4c], eax
mov dword [ebp + 0xfa50], eax
mov dword [ebp + 0xfa54], eax
mov dword [ebp + 0xfa58], eax
mov dword [ebp + 0xfa5c], eax
mov dword [ebp + 0xfa60], eax
mov dword [ebp + 0xfa64], eax
mov dword [ebp + 0xfa68], eax
mov dword [ebp + 0xfa6c], eax
mov dword [ebp + 0xfa70], eax
mov edx, dword [ebp + 0xfa14]
mov dword [esp + 4], edx
mov edx, dword [ebp + 0xfa18]
mov dword [esp + 0x14], edx
mov edx, dword [ebp + 0xfa1c]
mov dword [esp + 0x20], edx
mov edx, dword [ebp + 0xfa20]
mov dword [esp + 0x48], edx
mov edx, dword [ebp + 0xfa24]
mov dword [esp + 0x50], edx
mov edx, dword [ebp + 0xfa28]
mov dword [esp + 0x38], edx
mov edx, dword [ebp + 0xfa2c]
mov dword [esp + 0x4c], edx
mov edx, dword [ebp + 0xfa30]
mov dword [esp + 0x58], edx
mov edx, dword [ebp + 0xfa34]
mov dword [esp + 0x34], edx
mov edx, dword [ebp + 0xfa38]
mov dword [esp + 0x40], edx
mov edx, dword [ebp + 0xfa3c]
mov dword [esp + 0x28], edx
mov edx, dword [ebp + 0xfa40]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0xfa44]
mov dword [esp + 0x18], edx
mov edx, dword [ebp + 0xfa48]
mov dword [esp + 0x54], edx
mov edx, dword [ebp + 0xfa4c]
mov dword [esp + 0x24], edx
mov edx, dword [ebp + 0xfa50]
mov dword [esp + 0x6c], edx
mov edx, dword [ebp + 0xfa54]
mov dword [esp + 0xc], edx
mov edx, dword [ebp + 0xfa58]
mov dword [esp + 0x1c], edx
mov edx, dword [ebp + 0xfa5c]
mov dword [esp + 0x60], edx
mov edx, dword [ebp + 0xfa60]
mov dword [esp + 0x5c], edx
mov edx, dword [ebp + 0xfa64]
mov dword [esp + 0x44], edx
mov edx, dword [ebp + 0xfa68]
mov dword [esp + 0x3c], edx
mov edx, dword [ebp + 0xfa6c]
mov dword [esp + 0x30], edx
mov edx, dword [ebp + 0xfa70]
add ecx, 0xfffffff6
cmp ecx, 0x28
mov dword [esp + 0x2c], edx
ja case.default.0x53f292
push ebx
push esi
mov esi, 1
push edi
lea ebx, [esi + 0x1c]
lea edi, [esi + 0x1b]
jmp dword [ecx*4 + 0x54147c]
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0xa
jge 0x53f2f5
jmp 0x53f2b0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53f2f0
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x53f2b0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x42
je case.0x53f292.11
mov eax, 0xffffffce
jmp 0x540d63
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0xb
jge 0x53f375
jmp 0x53f330
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53f370
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x53f330
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x5a
je case.0x53f292.12
mov eax, 0xffffffcd
jmp 0x540d63
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0xc
jge 0x53f3f5
jmp 0x53f3b0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53f3f0
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x53f3b0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x68
je case.0x53f292.13
mov eax, 0xffffffcc
jmp 0x540d63
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0xd
jge 0x53f475
jmp 0x53f430
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53f470
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x53f430
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp eax, 0x31
mov dword [ebp + 0x24], eax
jl 0x53f505
cmp eax, 0x39
jg 0x53f505
add eax, 0xffffffd0
mov dword [ebp + 0x24], eax
imul eax, eax, 0x186a0
cmp byte [ebp + 0x28], 0
push eax
je 0x53f4e9
call fcn.0047e650
mov dword [ebp + 0xc50], eax
mov eax, dword [ebp + 0x24]
imul eax, eax, 0x186a0
add eax, esi
sar eax, 1
push eax
call fcn.0047e520
add esp, 8
cmp dword [ebp + 0xc50], 0
mov dword [ebp + 0xc54], eax
je 0x53f4df
test eax, eax
jne case.0x53f292.14
mov eax, 0xfffffffd
jmp 0x540d63
call fcn.0047e5b0
add esp, 4
test eax, eax
mov dword [ebp + 0xc4c], eax
jne case.0x53f292.14
mov eax, 0xfffffffd
jmp 0x540d63
mov eax, 0xffffffcb
jmp 0x540d63
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0xe
jge 0x53f565
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53f560
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x53f520
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x17
je case.0x53f292.42
cmp al, 0x31
je case.0x53f292.15
mov eax, 0xfffffff1
jmp 0x540d63
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0xf
jge 0x53f5e5
mov edi, edi
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53f5e0
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x53f5a0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x41
je case.0x53f292.16
mov eax, 0xfffffff0
jmp 0x540d63
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x10
jge 0x53f665
jmp 0x53f620
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53f660
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x53f620
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x59
je case.0x53f292.17
mov eax, 0xffffffef
jmp 0x540d63
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x11
jge 0x53f6e5
jmp 0x53f6a0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53f6e0
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x53f6a0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x26
je case.0x53f292.18
mov eax, 0xffffffee
jmp 0x540d63
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x12
jge 0x53f765
jmp 0x53f720
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53f760
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x53f720
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x53
je case.0x53f292.19
mov eax, 0xffffffec
jmp 0x540d63
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x13
jge 0x53f7e5
jmp 0x53f7a0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53f7e0
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x53f7a0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x59
je 0x53f809
mov eax, 0xffffffeb
jmp 0x540d63
add dword [ebp + 0x2c], esi
mov dword [ebp + 0xc58], 0
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x14
jge 0x53f868
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53f863
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x53f823
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc58]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc58], ecx
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x15
jge 0x53f8e5
nop
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53f8e0
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x53f8a0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc58]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc58], ecx
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x16
jge 0x53f965
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53f960
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x53f920
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc58]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc58], ecx
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x17
jge 0x53f9e5
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53f9e0
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x53f9a0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc58]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc58], ecx
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], 0x18
jge 0x53fa61
jmp 0x53fa20
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
add dword [ebp + 0x20], 8
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53fa5c
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x53fa20
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
mov dword [ebp + 0x34], 0
and eax, esi
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
mov byte [ebp + 0x10], al
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x19
jge 0x53fad5
jmp 0x53fa90
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53fad0
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x53fa90
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0x34]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x34], ecx
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x1a
jge 0x53fb55
jmp 0x53fb10
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53fb50
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x53fb10
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0x34]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x34], ecx
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x1b
jge 0x53fbd5
jmp 0x53fb90
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53fbd0
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x53fb90
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
add eax, 0xfffffff8
mov dword [ebp + 0x20], eax
mov eax, dword [ebp + 0x34]
and edx, 0xff
movzx ecx, dl
shl eax, 8
or eax, ecx
mov dword [ebp + 0x34], eax
jge 0x53fc06
mov eax, 0xffffffea
jmp 0x540d63
mov edx, dword [ebp + 0x24]
imul edx, edx, 0x186a0
add edx, 0xa
cmp eax, edx
jle 0x53fc20
mov eax, 0xffffffe9
jmp 0x540d63
mov dword [esp + 0x10], 0
jmp 0x53fc9c
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], edi
jge 0x53fc73
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
add dword [ebp + 0x20], 8
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53fc6e
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x53fc32
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, esi
cmp al, 1
mov eax, dword [esp + 0x10]
sete cl
mov byte [eax + ebp + 0xd6c], cl
add eax, esi
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0x10
jl case.0x53f292.28
push 0x100
lea eax, [ebp + 0xc6c]
push 0
push eax
call fcn.00630180
add esp, 0xc
mov dword [esp + 0x10], 0
jmp 0x53fd50
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], ebx
jge 0x53fd11
or ecx, 0xffffffff
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov edi, dword [eax]
movzx edi, byte [edi]
mov edx, dword [ebp + 0x1c]
add dword [ebp + 0x20], 8
shl edx, 8
or edx, edi
mov dword [ebp + 0x1c], edx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53fd0c
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x53fcd1
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, esi
cmp al, 1
jne 0x53fd3d
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
shl eax, 4
add eax, ebp
mov byte [eax + ecx + 0xc6c], 1
add dword [esp + 0x20], esi
cmp dword [esp + 0x20], 0x10
jl case.0x53f292.29
add dword [esp + 0x10], esi
mov eax, dword [esp + 0x10]
cmp eax, 0x10
jge 0x53fd6d
cmp byte [eax + ebp + 0xd6c], 0
je 0x53fd4c
mov dword [esp + 0x20], 0
jmp 0x53fd41
mov eax, ebp
call fcn.0053f090
mov eax, dword [ebp + 0xc68]
test eax, eax
jne 0x53fd88
mov eax, 0xffffffe8
jmp 0x540d63
add eax, 2
mov dword [esp + 0x54], eax
mov ecx, 3
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x1e
jge 0x53fde3
or edx, 0xffffffff
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], 8
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53fdde
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x53fda3
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 3]
shr eax, cl
add edx, 0xfffffffd
mov dword [ebp + 0x20], edx
and eax, 7
cmp eax, 2
mov dword [esp + 0x5c], eax
jl 0x53fe05
cmp eax, 6
jle case.0x53f292.31
mov eax, 0xffffffe7
jmp 0x540d63
cmp dword [ebp + 0x20], 0xf
mov dword [ebp + 4], 0x1f
jge 0x53fe70
mov edx, 8
or ecx, 0xffffffff
jmp 0x53fe30
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53fe6a
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], 0xf
jl 0x53fe30
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 0xf]
shr eax, cl
add edx, 0xfffffff1
mov dword [ebp + 0x20], edx
and eax, 0x7fff
cmp eax, esi
mov ebx, eax
mov dword [esp + 0x44], ebx
jge 0x53fe9a
mov eax, 0xffffffe6
jmp 0x540d63
mov dword [esp + 0x10], 0
jmp 0x53ff2f
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], 0x20
jge 0x53feff
mov edx, 8
or ecx, 0xffffffff
jmp 0x53fec0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x53fefa
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x53fec0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, esi
test al, al
jne 0x53ff42
mov eax, dword [esp + 0x10]
mov dl, byte [esp + 0x20]
mov ebx, dword [esp + 0x44]
mov byte [eax + ebp + 0x650e], dl
add eax, esi
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], ebx
jge 0x53ff60
mov dword [esp + 0x20], 0
jmp case.0x53f292.32
mov eax, dword [esp + 0x20]
add eax, esi
cmp eax, dword [esp + 0x5c]
mov dword [esp + 0x20], eax
jl case.0x53f292.32
mov eax, 0xffffffe5
jmp 0x540d63
mov edx, dword [esp + 0x5c]
xor al, al
test edx, edx
jle 0x53ff80
xor ecx, ecx
lea esp, [esp]
mov byte [esp + ecx + 0x80], al
add al, 1
movzx ecx, al
cmp ecx, edx
jl 0x53ff70
xor edi, edi
test ebx, ebx
mov dword [esp + 0x10], edi
jle 0x53ffd7
lea ebx, [ebx]
mov al, byte [edi + ebp + 0x650e]
test al, al
movzx ecx, al
mov dl, byte [esp + ecx + 0x80]
lea ecx, [esp + ecx + 0x80]
jbe 0x53ffbd
lea esp, [esp]
mov bl, byte [ecx - 1]
mov byte [ecx], bl
add al, 0xff
sub ecx, esi
test al, al
ja 0x53ffb0
mov byte [edi + ebp + 0x1ebc], dl
add edi, esi
cmp edi, dword [esp + 0x44]
mov byte [esp + 0x80], dl
jl 0x53ff90
mov dword [esp + 0x10], edi
mov dword [esp + 0x2c], 0
jmp 0x54011d
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], 0x23
jge 0x54003f
mov edx, 8
or ecx, 0xffffffff
jmp 0x540000
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x54003a
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x540000
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, esi
test al, al
jne 0x54005c
add dword [esp + 0x30], esi
jmp 0x540060
sub dword [esp + 0x30], esi
mov eax, dword [esp + 0x30]
cmp eax, esi
jl 0x5403a9
cmp eax, 0x14
jg 0x5403a9
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], 0x22
jge 0x5400cf
mov edx, 8
or ecx, 0xffffffff
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x5400ca
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x540090
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, esi
test al, al
jne case.0x53f292.35
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
imul ecx, ecx, 0x102
mov dl, byte [esp + 0x30]
add ecx, ebp
mov byte [ecx + eax + 0xab60], dl
add eax, esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x54]
jl 0x540060
add dword [esp + 0x2c], esi
mov eax, dword [esp + 0x5c]
cmp dword [esp + 0x2c], eax
jge 0x5401a5
cmp dword [ebp + 0x20], 5
mov dword [ebp + 4], 0x21
jge 0x540180
mov edx, 8
or ecx, 0xffffffff
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x54017a
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], 5
jl 0x540140
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 5]
shr eax, cl
mov dword [esp + 0x10], 0
and eax, 0x1f
add edx, 0xfffffffb
mov dword [ebp + 0x20], edx
mov dword [esp + 0x30], eax
jmp 0x54010b
test eax, eax
mov dword [esp + 0x2c], 0
jle 0x540242
mov eax, dword [esp + 0x5c]
lea ecx, [ebp + 0xf9fc]
mov dword [esp + 0x58], ecx
lea esi, [ebp + 0xc99c]
lea ebx, [ebp + 0xab60]
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], eax
xor edx, edx
xor ecx, ecx
cmp dword [esp + 0x54], edx
mov edi, 0x20
jle 0x5401ff
movzx eax, byte [ebx + edx]
cmp eax, ecx
jle 0x5401f0
mov ecx, eax
cmp eax, edi
jge 0x5401f6
mov edi, eax
add edx, 1
cmp edx, dword [esp + 0x54]
jl 0x5401e6
mov edx, dword [esp + 0x54]
push edx
push ecx
push edi
push ebx
lea eax, [esi + 0x1830]
push eax
push esi
lea ecx, [esi - 0x1830]
push ecx
mov ecx, dword [esp + 0x8c]
call fcn.005c7570
mov eax, dword [esp + 0x58]
mov dword [eax], edi
add eax, 4
add ebx, 0x102
add esi, 0x408
sub dword [esp + 0x34], 1
mov dword [esp + 0x58], eax
jne 0x5401d7
mov eax, dword [ebp + 0xc68]
add eax, 1
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x24]
imul eax, eax, 0x186a0
mov dword [esp + 0x34], eax
xor esi, esi
xor eax, eax
lea edi, [ebp + 0x40]
mov ecx, 0x100
rep stosd dword es:[edi], eax
mov dword [esp + 0x40], esi
mov dword [esp + 0x10], 0x100
mov eax, 0xfff
mov edx, 0xf
lea edi, [ebp + 0x1eb8]
mov bl, dl
shl bl, 4
mov ecx, 0xf
mov byte [esp + 0x17], bl
jmp 0x5402a4
mov bl, byte [esp + 0x17]
add bl, cl
mov byte [eax + ebp + 0xe7c], bl
sub eax, 1
sub ecx, 1
jns 0x5402a0
lea ecx, [eax + 1]
mov dword [edi], ecx
sub edx, 1
sub edi, 4
cmp edx, esi
jge 0x540286
cmp dword [esp + 0x44], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x64], esi
jle 0x540faa
movzx eax, byte [ebp + 0x1ebc]
mov ecx, dword [ebp + eax*4 + 0xf9fc]
mov dword [esp + 0x68], eax
imul eax, eax, 0x408
add eax, ebp
lea edx, [eax + 0xb16c]
mov dword [esp + 0x48], edx
lea edx, [eax + 0xe1cc]
add eax, 0xc99c
mov dword [esp + 0x50], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0x31
mov dword [esp + 0x18], ecx
mov esi, 1
mov eax, dword [ebp + 0x20]
cmp eax, dword [esp + 0x18]
mov dword [ebp + 4], 0x24
jge 0x540383
mov edx, 8
or ecx, 0xffffffff
lea ebx, [ebx]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x54037a
add dword [eax + 0xc], esi
mov eax, dword [esp + 0x18]
cmp dword [ebp + 0x20], eax
jl 0x540340
mov edx, dword [ebp + 0x20]
mov edi, dword [esp + 0x18]
mov eax, dword [ebp + 0x1c]
sub edx, edi
mov ecx, edx
shr eax, cl
mov ebx, esi
mov ecx, edi
shl ebx, cl
mov dword [ebp + 0x20], edx
sub ebx, esi
and eax, ebx
mov dword [esp + 0x28], eax
jmp 0x540439
mov eax, 0xffffffe4
jmp 0x540d63
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], 0x25
jge 0x54040f
mov edx, 8
or ecx, 0xffffffff
jmp 0x5403d0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x54040a
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x5403d0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
mov edi, dword [esp + 0x18]
lea ecx, [edx - 1]
shr eax, cl
mov ecx, dword [esp + 0x28]
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, esi
lea edx, [ecx + ecx]
or edx, eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x28], edx
mov eax, edx
cmp edi, 0x14
jg 0x540fb4
mov ecx, dword [esp + 0x48]
cmp eax, dword [ecx + edi*4]
jle 0x540456
add edi, esi
mov dword [esp + 0x18], edi
jmp case.0x53f292.37
mov edx, dword [esp + 0x3c]
sub eax, dword [edx + edi*4]
js 0x54046a
cmp eax, 0x102
jl 0x540525
mov eax, 0xfffffff2
jmp 0x540d63
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], 0x29
jge 0x5404cf
mov edx, 8
or ecx, 0xffffffff
jmp 0x540490
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x5404ca
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x540490
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
mov edi, dword [esp + 0x18]
lea ecx, [edx - 1]
shr eax, cl
mov ecx, dword [esp + 0x28]
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, esi
lea edx, [ecx + ecx]
mov dword [esp + 0x6c], eax
or eax, edx
cmp edi, 0x14
mov dword [esp + 0x28], eax
jg 0x540fb4
mov ecx, dword [esp + 0x48]
cmp eax, dword [ecx + edi*4]
jg 0x540b25
mov edx, dword [esp + 0x3c]
sub eax, dword [edx + edi*4]
js 0x54046a
cmp eax, 0x102
jge 0x54046a
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x4c], edx
mov ecx, dword [esp + 0x4c]
cmp ecx, dword [esp + 0x58]
je 0x540b30
test ecx, ecx
je 0x54054a
cmp ecx, esi
jne 0x5407ea
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x60], esi
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x540568
mov eax, dword [esp + 0x60]
add dword [esp + 0x24], eax
jmp 0x54057b
cmp eax, esi
jne 0x54057b
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x60]
lea eax, [ecx + edx*2]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x60]
lea edx, [ecx + ecx]
mov ecx, dword [esp + 0x40]
test ecx, ecx
mov dword [esp + 0x60], edx
jne 0x5405e3
mov eax, dword [esp + 0x64]
add eax, esi
cmp eax, dword [esp + 0x44]
mov dword [esp + 0x64], eax
jge 0x540faa
movzx eax, byte [eax + ebp + 0x1ebc]
mov edx, dword [ebp + eax*4 + 0xf9fc]
mov dword [esp + 0x68], eax
imul eax, eax, 0x408
add eax, ebp
mov dword [esp + 0x50], edx
lea edx, [eax + 0xb16c]
mov dword [esp + 0x48], edx
lea edx, [eax + 0xe1cc]
add eax, 0xc99c
mov ecx, 0x32
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x50]
sub ecx, esi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x18], eax
mov ecx, dword [ebp + 0x20]
cmp ecx, dword [esp + 0x18]
mov dword [ebp + 4], 0x26
jge 0x540653
mov edx, 8
or ecx, 0xffffffff
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x54064a
add dword [eax + 0xc], esi
mov eax, dword [esp + 0x18]
cmp dword [ebp + 0x20], eax
jl 0x540610
mov edx, dword [ebp + 0x20]
mov edi, dword [esp + 0x18]
mov eax, dword [ebp + 0x1c]
sub edx, edi
mov ecx, edx
shr eax, cl
mov ebx, esi
mov ecx, edi
shl ebx, cl
mov dword [ebp + 0x20], edx
sub ebx, esi
and eax, ebx
cmp edi, 0x14
mov dword [esp + 0x28], eax
jg 0x540fb4
mov ecx, dword [esp + 0x48]
cmp eax, dword [ecx + edi*4]
jle 0x540718
add edi, esi
mov dword [esp + 0x18], edi
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], 0x27
jge 0x5406ef
mov edx, 8
or ecx, 0xffffffff
jmp 0x5406b0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x5406ea
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x5406b0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
mov edi, dword [esp + 0x18]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
mov edx, dword [esp + 0x28]
and eax, esi
lea ecx, [edx + edx]
mov dword [esp + 0x6c], eax
or eax, ecx
jmp 0x540670
mov edx, dword [esp + 0x3c]
sub eax, dword [edx + edi*4]
js 0x54046a
cmp eax, 0x102
jge 0x54046a
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + eax*4]
test eax, eax
mov dword [esp + 0x4c], eax
je 0x540556
cmp eax, esi
je 0x540556
mov eax, dword [ebp + 0x1e7c]
movzx ecx, byte [eax + ebp + 0xe7c]
mov cl, byte [ecx + ebp + 0xd7c]
mov edx, dword [esp + 0x24]
add edx, esi
movzx eax, cl
add dword [ebp + eax*4 + 0x40], edx
cmp byte [ebp + 0x28], 0
mov dword [esp + 0x24], edx
je 0x5407b0
test edx, edx
jle 0x540530
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x34]
jge 0x540fbe
mov ebx, dword [ebp + 0xc50]
movzx di, cl
sub edx, esi
mov word [ebx + eax*2], di
add eax, esi
test edx, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], edx
jg 0x540783
jmp 0x540530
test edx, edx
jle 0x540530
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
cmp ecx, edi
jge 0x540fc8
mov ebx, dword [ebp + 0xc4c]
sub edx, esi
mov dword [ebx + ecx*4], eax
add ecx, esi
test edx, edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], edx
jg 0x5407c4
jmp 0x540530
mov edx, dword [esp + 0x34]
cmp dword [esp + 0x1c], edx
jge 0x540fa0
add ecx, 0xffffffff
cmp ecx, 0x10
jae 0x5408ce
cmp ecx, 3
mov esi, dword [ebp + 0x1e7c]
lea edx, [esi + ebp]
mov bl, byte [ecx + edx + 0xe7c]
mov dword [esp + 0x80], edx
mov byte [esp + 0x17], bl
jbe 0x5408ac
lea eax, [esi + ecx]
lea edx, [ebp + 0xe7b]
mov esi, ebp
sub esi, edx
add esi, 0xe7c
mov dword [esp + 0x70], esi
mov esi, ebp
sub esi, edx
lea edi, [esi + 0xe7a]
mov esi, ebp
sub esi, edx
add esi, 0xe78
mov dword [esp + 0x7c], esi
mov esi, ebp
sub esi, edx
add esi, 0xe79
mov dword [esp + 0x74], esi
lea esi, [ecx - 4]
shr esi, 2
add eax, edx
add esi, 1
movzx edx, byte [eax]
mov ebx, dword [esp + 0x70]
mov byte [ebx + eax], dl
movzx edx, byte [edi + eax]
mov byte [eax], dl
mov edx, dword [esp + 0x74]
movzx ebx, byte [edx + eax]
mov byte [edi + eax], bl
mov ebx, dword [esp + 0x7c]
movzx ebx, byte [ebx + eax]
mov byte [edx + eax], bl
sub ecx, 4
sub eax, 4
sub esi, 1
jne 0x540870
mov edx, dword [esp + 0x80]
mov bl, byte [esp + 0x17]
test ecx, ecx
jbe 0x5408c3
sub ecx, 1
mov al, byte [ecx + edx + 0xe7c]
mov byte [ecx + edx + 0xe7d], al
jne 0x5408b0
mov byte [edx + 0xe7c], bl
jmp 0x5409ed
mov edx, ecx
shr edx, 4
mov edi, dword [ebp + edx*4 + 0x1e7c]
lea esi, [ebp + edx*4 + 0x1e7c]
and ecx, 0xf
add ecx, edi
cmp ecx, edi
mov bl, byte [ecx + ebp + 0xe7c]
mov byte [esp + 0x17], bl
jle 0x540915
jmp 0x540900
mov al, byte [ecx + ebp + 0xe7b]
mov byte [ecx + ebp + 0xe7c], al
sub ecx, 1
cmp ecx, dword [esi]
jg 0x540900
add dword [esi], 1
test edx, edx
jle 0x540940
mov eax, esi
mov edi, edi
add dword [eax], 0xffffffff
mov ecx, dword [eax - 4]
mov esi, dword [eax]
mov cl, byte [ecx + ebp + 0xe8b]
sub edx, 1
sub eax, 4
test edx, edx
mov byte [esi + ebp + 0xe7c], cl
jg 0x540920
add dword [ebp + 0x1e7c], 0xffffffff
mov eax, dword [ebp + 0x1e7c]
mov byte [eax + ebp + 0xe7c], bl
cmp dword [ebp + 0x1e7c], 0
jne 0x5409ed
mov ecx, 0xfff
mov edi, 0xf
lea esi, [ebp + 0x1eb8]
mov eax, 0xf
jmp 0x540980
mov ebx, dword [esi]
lea edx, [eax + ebp]
movzx edx, byte [edx + ebx + 0xe7c]
mov byte [ecx + ebp + 0xe7c], dl
mov ebx, dword [esi]
lea edx, [eax + ebp]
movzx edx, byte [edx + ebx + 0xe7b]
mov byte [ecx + ebp + 0xe7b], dl
mov ebx, dword [esi]
lea edx, [eax + ebp]
movzx edx, byte [edx + ebx + 0xe7a]
mov byte [ecx + ebp + 0xe7a], dl
mov ebx, dword [esi]
lea edx, [eax + ebp]
movzx edx, byte [edx + ebx + 0xe79]
mov byte [ecx + ebp + 0xe79], dl
sub eax, 4
sub ecx, 4
test eax, eax
jge 0x540980
lea eax, [ecx + 1]
mov dword [esi], eax
sub edi, 1
sub esi, 4
test edi, edi
jge 0x540971
mov bl, byte [esp + 0x17]
movzx ecx, bl
movzx edx, byte [ecx + ebp + 0xd7c]
add dword [ebp + edx*4 + 0x40], 1
cmp byte [ebp + 0x28], 0
lea eax, [ecx + ebp + 0xd7c]
lea ecx, [ebp + edx*4 + 0x40]
mov edx, dword [esp + 0x1c]
je 0x540a22
movzx ax, byte [eax]
mov ecx, dword [ebp + 0xc50]
mov word [ecx + edx*2], ax
jmp 0x540a2e
movzx eax, byte [eax]
mov ecx, dword [ebp + 0xc4c]
mov dword [ecx + edx*4], eax
mov ecx, dword [esp + 0x40]
add dword [esp + 0x1c], 1
test ecx, ecx
jne 0x540a91
mov eax, dword [esp + 0x64]
add eax, 1
cmp eax, dword [esp + 0x44]
mov dword [esp + 0x64], eax
jge 0x540faa
movzx eax, byte [eax + ebp + 0x1ebc]
mov edx, dword [ebp + eax*4 + 0xf9fc]
mov dword [esp + 0x68], eax
imul eax, eax, 0x408
add eax, ebp
mov dword [esp + 0x50], edx
lea edx, [eax + 0xb16c]
mov dword [esp + 0x48], edx
lea edx, [eax + 0xe1cc]
add eax, 0xc99c
mov ecx, 0x32
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x50]
sub ecx, 1
mov dword [esp + 0x40], ecx
mov dword [esp + 0x18], eax
mov esi, 1
mov ecx, dword [ebp + 0x20]
cmp ecx, dword [esp + 0x18]
mov dword [ebp + 4], 0x28
jge 0x540b03
mov edx, 8
or ecx, 0xffffffff
lea ecx, [ecx]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x540afa
add dword [eax + 0xc], esi
mov eax, dword [esp + 0x18]
cmp dword [ebp + 0x20], eax
jl 0x540ac0
mov edx, dword [ebp + 0x20]
mov edi, dword [esp + 0x18]
mov eax, dword [ebp + 0x1c]
sub edx, edi
mov ecx, edx
shr eax, cl
mov ebx, esi
mov ecx, edi
shl ebx, cl
mov dword [ebp + 0x20], edx
sub ebx, esi
and eax, ebx
jmp 0x5404f3
add edi, esi
mov dword [esp + 0x18], edi
jmp case.0x53f292.41
mov eax, dword [ebp + 0x34]
test eax, eax
jl 0x540f96
cmp eax, dword [esp + 0x1c]
jge 0x540f96
xor ebx, ebx
lea eax, [ebp + 0x448]
lea edx, [ebp + 0x444]
lea esi, [ebp + 0x40]
mov ecx, 0x100
mov edi, eax
mov dword [ebp + 0xc], ebx
mov byte [ebp + 8], bl
mov dword [ebp + 0xc60], 0xffffffff
mov dword [ebp + 4], 2
mov dword [edx], ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x100
lea ecx, [ecx]
mov esi, dword [eax - 4]
add dword [eax], esi
add eax, 4
sub ecx, 1
jne 0x540b80
cmp byte [ebp + 0x28], cl
je 0x540ed0
lea edi, [ebp + 0x848]
mov ecx, 0x101
mov esi, edx
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
cmp dword [esp + 0x1c], ebx
jle 0x540c09
lea ecx, [ecx]
mov edx, dword [ebp + 0xc50]
movzx eax, byte [edx + ecx*2]
mov si, word [ebp + eax*4 + 0x848]
lea edx, [edx + ecx*2]
lea eax, [ebp + eax*4 + 0x848]
mov word [edx], si
mov esi, dword [ebp + 0xc54]
mov edx, ecx
sar edx, 1
add esi, edx
test cl, 1
jne 0x540bea
mov dl, byte [esi]
and dl, 0xf0
or dl, byte [eax + 2]
jmp 0x540bfb
mov edx, dword [eax]
mov ebx, dword [eax]
sar edx, 0xc
xor dl, byte [esi]
sar ebx, 0xc
and dl, 0xf
xor dl, bl
mov byte [esi], dl
add dword [eax], 1
add ecx, 1
cmp ecx, dword [esp + 0x1c]
jl 0x540bb0
mov eax, dword [ebp + 0x34]
mov edx, dword [ebp + 0xc54]
mov ecx, eax
sar ecx, 1
movzx ebx, byte [ecx + edx]
movzx ecx, al
and cl, 1
add cl, cl
add cl, cl
shr ebx, cl
mov ecx, dword [ebp + 0xc50]
movzx edx, word [ecx + eax*2]
and ebx, 0xf
shl ebx, 0x10
mov dword [esp + 0x10], eax
or ebx, edx
jmp 0x540c44
mov ebx, dword [esp + 0x20]
mov eax, dword [ebp + 0xc50]
mov ecx, dword [ebp + 0xc54]
lea esi, [eax + ebx*2]
mov edx, ebx
sar edx, 1
movzx eax, byte [ecx + edx]
movzx ecx, bl
and cl, 1
add cl, cl
add cl, cl
shr eax, cl
movzx ecx, word [esi]
and eax, 0xf
shl eax, 0x10
or eax, ecx
test bl, 1
mov cx, word [esp + 0x10]
mov word [esi], cx
mov ecx, dword [ebp + 0xc54]
lea esi, [ecx + edx]
mov ecx, dword [esp + 0x10]
jne 0x540c9a
mov dl, byte [esi]
sar ecx, 0x10
and dl, 0xf0
or cl, dl
mov byte [esi], cl
jmp 0x540cab
mov edx, ecx
sar edx, 0xc
xor dl, byte [esi]
sar ecx, 0xc
and dl, 0xf
xor dl, cl
mov byte [esi], dl
cmp ebx, dword [ebp + 0x34]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x20], eax
jne 0x540c40
mov edx, dword [ebp + 0x34]
xor ebx, ebx
cmp byte [ebp + 0x10], bl
mov dword [ebp + 0x38], edx
mov dword [ebp + 0x440], ebx
je 0x540e68
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], ebx
xor esi, esi
mov ecx, 0x100
lea edi, [ebx + 1]
nop
lea eax, [ecx + esi]
sar eax, 1
cmp edx, dword [ebp + eax*4 + 0x444]
jl 0x540cf2
mov esi, eax
jmp 0x540cf4
mov ecx, eax
mov eax, ecx
sub eax, esi
cmp eax, edi
jne 0x540ce0
mov eax, dword [ebp + 0xc54]
mov ecx, edx
shr ecx, 1
mov dword [ebp + 0x3c], esi
movzx eax, byte [ecx + eax]
movzx ecx, dl
and cl, 1
add cl, cl
add cl, cl
shr eax, cl
mov ecx, dword [ebp + 0xc50]
movzx edx, word [ecx + edx*2]
and eax, 0xf
shl eax, 0x10
or eax, edx
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x440], edi
mov eax, dword [0x78b2d0]
mov ecx, edi
cmp ecx, 0x200
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], edi
jne 0x540d4c
mov dword [ebp + 0x18], ebx
add dword [ebp + 0x14], 0xffffffff
mov eax, dword [ebp + 0x14]
xor edx, edx
cmp eax, edi
sete dl
xor edx, esi
mov dword [ebp + 0x3c], edx
xor ebx, ebx
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x14]
mov dword [ebp + 0xfa14], ecx
mov ecx, dword [esp + 0x20]
mov dword [ebp + 0xfa18], edx
mov edx, dword [esp + 0x48]
mov dword [ebp + 0xfa1c], ecx
mov ecx, dword [esp + 0x50]
mov dword [ebp + 0xfa20], edx
mov edx, dword [esp + 0x38]
mov dword [ebp + 0xfa24], ecx
mov ecx, dword [esp + 0x4c]
mov dword [ebp + 0xfa28], edx
mov edx, dword [esp + 0x58]
mov dword [ebp + 0xfa2c], ecx
mov ecx, dword [esp + 0x34]
mov dword [ebp + 0xfa30], edx
mov edx, dword [esp + 0x40]
mov dword [ebp + 0xfa34], ecx
mov ecx, dword [esp + 0x28]
mov dword [ebp + 0xfa38], edx
mov edx, dword [esp + 0x10]
mov dword [ebp + 0xfa3c], ecx
mov ecx, dword [esp + 0x18]
mov dword [ebp + 0xfa40], edx
mov edx, dword [esp + 0x54]
mov dword [ebp + 0xfa44], ecx
mov ecx, dword [esp + 0x24]
mov dword [ebp + 0xfa48], edx
mov edx, dword [esp + 0x6c]
mov dword [ebp + 0xfa4c], ecx
mov ecx, dword [esp + 0xc]
mov dword [ebp + 0xfa50], edx
mov edx, dword [esp + 0x1c]
mov dword [ebp + 0xfa54], ecx
mov ecx, dword [esp + 0x60]
mov dword [ebp + 0xfa58], edx
mov edx, dword [esp + 0x5c]
mov dword [ebp + 0xfa5c], ecx
mov ecx, dword [esp + 0x44]
mov dword [ebp + 0xfa60], edx
mov edx, dword [esp + 0x3c]
mov dword [ebp + 0xfa64], ecx
mov ecx, dword [esp + 0x30]
mov dword [ebp + 0xfa68], edx
mov edx, dword [esp + 0x2c]
mov dword [ebp + 0xfa6c], ecx
mov ecx, dword [esp + 0x7c]
mov dword [ebp + 0xfa70], edx
pop ebp
xor ecx, esp
call fcn.0062cbd3
add esp, 0x7c
ret 4
xor ecx, ecx
mov esi, 0x100
nop
lea eax, [esi + ecx]
sar eax, 1
cmp edx, dword [ebp + eax*4 + 0x444]
jl 0x540e82
mov ecx, eax
jmp 0x540e84
mov esi, eax
mov eax, esi
sub eax, ecx
cmp eax, 1
jne 0x540e70
mov eax, dword [ebp + 0xc54]
mov dword [ebp + 0x3c], ecx
mov ecx, edx
shr ecx, 1
movzx eax, byte [ecx + eax]
movzx ecx, dl
and cl, 1
add cl, cl
add cl, cl
shr eax, cl
mov ecx, dword [ebp + 0xc50]
movzx edx, word [ecx + edx*2]
and eax, 0xf
shl eax, 0x10
or eax, edx
mov dword [ebp + 0x38], eax
xor ebx, ebx
mov dword [ebp + 0x440], 1
jmp 0x540d61
mov esi, dword [esp + 0x1c]
xor edx, edx
cmp esi, ebx
mov dword [esp + 0x10], edx
jle 0x540f10
mov edi, edi
mov ecx, dword [ebp + 0xc4c]
movzx eax, byte [ecx + edx*4]
mov edi, dword [ebp + eax*4 + 0x444]
lea eax, [ebp + eax*4 + 0x444]
lea ecx, [ecx + edi*4]
mov edi, edx
shl edi, 8
or dword [ecx], edi
add dword [eax], 1
add edx, 1
cmp edx, esi
jl 0x540ee0
mov dword [esp + 0x10], edx
mov ecx, dword [ebp + 0x34]
mov eax, dword [ebp + 0xc4c]
mov edx, dword [eax + ecx*4]
shr edx, 8
cmp byte [ebp + 0x10], 0
mov dword [ebp + 0x38], edx
mov dword [ebp + 0x440], ebx
mov ecx, edx
je 0x540f77
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], ebx
mov edx, dword [eax + ecx*4]
movzx eax, dl
mov dword [ebp + 0x38], edx
shr dword [ebp + 0x38], 8
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x440], 1
mov ecx, dword [0x78b2d0]
mov dword [ebp + 0x14], ecx
add dword [ebp + 0x14], 0xffffffff
mov eax, dword [ebp + 0x14]
xor edx, edx
cmp eax, 1
sete dl
mov dword [ebp + 0x18], 1
xor dword [ebp + 0x3c], edx
jmp 0x540d61
mov edx, dword [eax + ecx*4]
movzx eax, dl
mov dword [ebp + 0x38], edx
shr dword [ebp + 0x38], 8
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x440], 1
jmp 0x540d61
mov eax, 0xffffffe0
jmp 0x540d63
mov eax, 0xffffffe1
jmp 0x540d63
mov eax, 0xfffffff4
jmp 0x540d63
mov eax, 0xfffffff3
jmp 0x540d63
mov eax, 0xffffffe3
jmp 0x540d63
mov eax, 0xffffffe2
jmp 0x540d63
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2a
jge 0x54102f
or edx, 0xffffffff
jmp 0x540ff0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x54102a
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x540ff0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x72
je case.0x53f292.43
mov eax, 0xffffffdf
jmp 0x540d63
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2b
jge 0x5410af
or edx, 0xffffffff
jmp 0x541070
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x5410aa
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x541070
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x45
je case.0x53f292.44
mov eax, 0xffffffde
jmp 0x540d63
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2c
jge 0x541133
or edx, 0xffffffff
jmp 0x5410f0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x54112e
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x5410f0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x38
je case.0x53f292.45
mov eax, 0xffffffdd
jmp 0x540d63
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2d
jge 0x5411b3
or edx, 0xffffffff
jmp 0x541170
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x5411ae
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x541170
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x50
je case.0x53f292.46
mov eax, 0xffffffdc
jmp 0x540d63
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2e
jge 0x541233
or edx, 0xffffffff
nop
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x54122e
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x5411f0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x90
je 0x54125b
mov eax, 0xffffffdb
jmp 0x540d63
mov dword [ebp + 0xc5c], 0
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2f
jge 0x5412c3
or edx, 0xffffffff
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x5412be
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x541280
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc5c]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc5c], ecx
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x30
jge 0x541344
or edx, 0xffffffff
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x54133f
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x541301
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc5c]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc5c], ecx
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x31
jge 0x5413c5
or edx, 0xffffffff
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x5413c0
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x541382
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc5c]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc5c], ecx
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x32
jge 0x541442
or edx, 0xffffffff
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x540d61
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x54143d
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x541403
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc5c]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc5c], ecx
mov dword [ebp + 4], esi
mov eax, 4
jmp 0x540d63