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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x54]
cmp eax, dword [ecx + 8]
jbe 0x5f42fc
sub esp, 0xd4
mov ebx, dword [esp + 0xe0]
mov ecx, dword [ebx + 4]
mov ebp, dword [ebx]
mov edx, dword [ebx + 8]
mov eax, ebx
mov ebx, dword [esp + 0xd8]
mov esi, ebp
mov ebp, dword [ebx + 0xa4]
test ebp, ebp
je 0x5f2d34
mov dword [esp + 0x18], ebp
mov edi, dword [esp + 0xe4]
jmp 0x5f4280
mov dword [esp + 0x28], ecx
mov ebp, dword [ebx + 0x60]
mov dword [esp + 0x5c], ebp
test ebp, ebp
mov edi, ebx
setne bl
mov byte [esp + 0x14], bl
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x78]
jmp 0x5f2d76
lea ebx, [ebp + 1]
mov ebp, dword [esp + 0xe8]
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x3c], ebx
movzx ebx, byte [esp + 0x14]
mov ebx, dword [esp + 0xe8]
mov ebp, dword [esp + 0x3c]
cmp ebx, ebp
jle 0x5f2dcd
cmp ebp, ecx
jae 0x5f426a
lea ebx, [ebp + ebp*2]
lea ebx, [esi + ebx*8 + 0x17]
cmp byte [ebx], 4
jb 0x5f2d5f
mov ebx, dword [esp + 0x5c]
test ebx, ebx
je 0x5f2dbd
lea ebx, [ebp + 1]
mov ebp, dword [esp + 0xe8]
cmp ebp, ebx
jg 0x5f4127
mov ebx, dword [esp + 0x3c]
jmp 0x5f3e3e
mov ebp, dword [esp + 0xe8]
mov ebx, dword [esp + 0x3c]
jmp 0x5f3e3e
cmp ebx, ebp
jne 0x5f2e60
mov ebx, dword [esp + 0xe4]
cmp ebx, ebp
jge 0x5f2e67
lea ebx, [ebp - 1]
cmp ecx, ebx
jbe 0x5f3e37
mov dword [esp + 0x58], ebx
mov dword [esp + 0x54], ebp
lea ebx, [ebp + ebp*2]
lea ebp, [esi + ebx*8 - 8]
movzx ebp, word [ebp]
test bp, 0x20
je 0x5f2e17
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x54]
jmp 0x5f2e67
lea ebx, [esi + ebx*8 - 2]
movzx ebx, byte [ebx]
cmp bl, 0x20
sbb ebp, ebp
mov dword [esp + 0x5c], ebp
mov ecx, ebx
mov ebp, 1
shl ebp, cl
mov ebx, dword [esp + 0x5c]
and ebx, ebp
test ebx, 0x40
je 0x5f2e4f
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x58]
jmp 0x5f2e67
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x54]
jmp 0x5f2e67
mov ebx, dword [esp + 0xe4]
mov ebx, dword [esp + 0xe8]
cmp ebx, ebp
jg 0x5f3dbb
mov dword [esp + 0xd0], esi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0xe4]
inc ebp
mov dword [esp + 0x58], ebp
cmp ebx, ebp
jle 0x5f2eee
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x3c]
cmp ebx, ebp
jge 0x5f2edf
lea ebx, [ebp - 1]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0xe8]
cmp ebx, ebp
jne 0x5f2ebb
add ebp, 0xfffffffe
jmp 0x5f2ebf
mov ebp, dword [esp + 0x24]
mov ebx, dword [eax + 0x44]
cmp ebx, 0x6d6c796d
je 0x5f396d
cmp ebx, 0x74616d6c
jne 0x5f3c2c
jmp 0x5f396d
mov edx, dword [esp + 0xe8]
mov edi, dword [esp + 0x58]
cmp edx, edi
jmp 0x5f2efd
mov edx, ebx
mov ebx, dword [esp + 0xe4]
mov edi, ebp
mov ebp, dword [esp + 0x3c]
jle 0x5f2fa3
cmp ebx, ecx
jae 0x5f3966
lea ebx, [ebx + ebx*2]
lea edi, [esi + ebx*8]
mov dword [esp + 0xcc], edi
lea edi, [esi + ebx*8 + 0x17]
cmp byte [edi], 1
jne 0x5f2f98
lea edi, [esi + ebx*8 + 0x10]
movzx edi, word [edi]
test di, 0x20
je 0x5f2f3d
test di, 0x40
xchg edi, ebx
sete bl
xchg edi, ebx
jmp 0x5f2f3f
xor edi, edi
mov dword [esp + 0x54], ebx
lea ebx, [esi + ebx*8 + 0x16]
cmp byte [ebx], 0xe
sete bl
xchg edi, eax
cmp al, bl
xchg edi, eax
je 0x5f2f8b
mov dword [esp + 0x50], ebp
mov ebx, dword [esp + 0xd8]
movzx edi, byte [ebx + 0xa0]
xchg edi, eax
cmp al, 0xc
xchg edi, eax
je 0x5f3507
xchg edi, eax
mov byte [esp + 0x15], al
xchg edi, eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x70]
jmp 0x5f33a2
mov ebx, dword [esp + 0xe4]
mov edi, dword [esp + 0x58]
jmp 0x5f2fa3
mov ebx, dword [esp + 0xe4]
mov edi, dword [esp + 0x58]
movzx edi, byte [esp + 0x14]
xchg edi, eax
test al, al
xchg edi, eax
je 0x5f2fbe
lea edi, [ebp + 1]
cmp edx, edi
jle 0x5f2fbe
mov dword [esp + 0x3c], ebp
jmp 0x5f3097
cmp ebx, ecx
jae 0x5f307d
lea ebp, [ebx + ebx*2]
lea edi, [esi + ebp*8 + 0x17]
cmp byte [edi], 2
jne 0x5f3044
test ebx, ebx
je 0x5f2fec
lea edi, [esi + ebp*8 - 4]
movzx ecx, word [edi]
mov edi, 1
shl edi, cl
test edi, 0x1ffe
jne 0x5f3000
lea ecx, [esi + ebp*8 + 0xc]
mov ebp, dword [ecx]
mov esi, dword [esp + 0xd8]
or ebp, dword [esi + 0x7c]
mov dword [ecx], ebp
jmp 0x5f304b
mov dword [esp], eax
mov dword [esp + 4], 3
lea ecx, [ebx - 1]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xc], ecx
mov word [esp + 0x10], 1
call fcn.005e1f90
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xe8]
mov ebx, dword [esp + 0xe4]
mov esi, dword [esp + 0xd8]
jmp 0x5f304b
mov esi, dword [esp + 0xd8]
movzx ecx, byte [esi + 0xa9]
test cl, cl
je 0x5f3076
mov ecx, dword [esp + 0xdc]
cmp dword [ecx + 0x10], 0x74616d6c
je 0x5f3076
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.005e2380
add esp, 0xd4
ret
mov eax, ebx
call fcn.00465e00
inc edi
mov ebx, dword [esp + 0xd8]
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x3c]
cmp edx, edi
jle 0x5f2fbe
cmp edi, ecx
jae 0x5f3381
lea ebx, [edi + edi*2]
mov dword [esp + 0x54], ebx
lea ebp, [esi + ebx*8]
mov dword [esp + 0xcc], ebp
lea ebp, [esi + ebx*8 + 0xc]
mov ebx, dword [esp + 0xd8]
mov ebx, dword [ebx + 0x60]
and ebx, dword [ebp]
test ebx, ebx
je 0x5f3084
mov ebx, dword [esp + 0x54]
lea ebx, [esi + ebx*8 + 0x10]
movzx ebx, word [ebx]
test bx, 0x20
je 0x5f3113
test bx, 0x40
jne 0x5f3113
mov dword [esp + 0x30], edi
mov ebx, dword [eax + 0x44]
cmp ebx, 0x6d6c796d
je 0x5f310d
cmp ebx, 0x74616d6c
je 0x5f310d
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x3c]
jmp 0x5f3308
mov ebx, dword [esp + 0x3c]
jmp 0x5f311f
mov ebx, dword [esp + 0xe4]
jmp 0x5f2fbe
mov ebp, dword [esp + 0xe4]
cmp ebp, ebx
jge 0x5f31f3
lea ebp, [ebx - 1]
cmp ecx, ebp
jbe 0x5f32f4
lea ebp, [ebx + ebx*2]
nop
lea edx, [esi + ebp*8 - 8]
movzx edx, word [edx]
test dx, 0x20
jne 0x5f31f3
mov dword [esp + 0x54], ebp
lea edx, [esi + ebp*8 - 2]
movzx edx, byte [edx]
cmp dl, 0x20
sbb edi, edi
mov ecx, edx
mov ebp, 1
shl ebp, cl
and ebp, edi
test ebp, 0x10
je 0x5f31dd
mov edx, dword [esp + 0xe8]
cmp edx, ebx
jle 0x5f31d3
mov ecx, dword [esp + 0x28]
cmp ebx, ecx
jae 0x5f32ed
nop
mov ebp, dword [esp + 0x54]
lea edi, [esi + ebp*8 + 0x10]
movzx edi, word [edi]
test di, 0x20
jne 0x5f31d7
lea ebp, [esi + ebp*8 + 0x16]
movzx ebp, byte [ebp]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb edi, edi
mov ecx, ebp
mov edx, 1
shl edx, cl
and edx, edi
test edx, 0x60
je 0x5f31cc
inc ebx
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xe8]
jmp 0x5f31d7
mov edx, dword [esp + 0xe8]
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
jmp 0x5f31f3
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xe8]
mov ebp, dword [esp + 0xe4]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x20], ebx
mov dword [esp], eax
mov dword [esp + 4], ebx
lea ecx, [edi + 1]
mov dword [esp + 8], ecx
call fcn.005e2380
lea edi, [esp + 0x80]
mov esi, dword [esp + 0xcc]
call fcn.004664c4
mov eax, dword [esp + 0x20]
lea ecx, [eax + 1]
mov edx, dword [esp + 0x28]
cmp edx, ecx
jb 0x5f32e4
lea ebx, [eax + eax*2]
mov ebp, dword [esp + 0x2c]
sub ebp, eax
mov ecx, ebx
shl ebx, 3
mov esi, ebp
dec ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov edi, ebx
add ebx, 0x18
sar ebp, 0x1f
and ebp, ebx
mov ebx, dword [esp + 0xd0]
add ebp, ebx
mov dword [esp + 0xcc], ebp
sub edx, eax
mov ebp, dword [esp + 0x30]
cmp eax, ebp
ja 0x5f32dd
dec edx
sub ebp, eax
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and edi, esi
mov eax, ecx
lea ecx, [edi + ebx]
cmp ebp, edx
jl 0x5f3284
mov ebp, edx
mov edx, dword [esp + 0xcc]
cmp ecx, edx
je 0x5f32b5
mov dword [esp + 0x54], eax
mov dword [esp], edx
mov dword [esp + 4], ecx
lea eax, [ebp + ebp*2]
shl eax, 3
mov dword [esp + 8], eax
call fcn.004666e0
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0xd0]
lea edi, [ebx + eax*8]
lea esi, [esp + 0x80]
call fcn.004664c4
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xe8]
mov esi, ebx
jmp 0x5f3113
mov ecx, ebp
call fcn.00465e60
mov eax, ecx
mov ecx, edx
call fcn.00465e60
mov eax, ebx
call fcn.00465e00
mov eax, ebp
call fcn.00465e00
mov edi, dword [esp + 0x30]
mov ebp, edx
mov edx, dword [esp + 0xe8]
cmp ebx, ebp
jge 0x5f3373
lea edx, [ebp - 1]
cmp ecx, edx
jbe 0x5f337a
mov dword [esp + 0x20], ebp
lea edi, [ebp + ebp*2]
lea ebp, [esi + edi*8 - 8]
movzx ebp, word [ebp]
test bp, 0x20
jne 0x5f32fb
lea ebp, [esi + edi*8 - 2]
movzx ebp, byte [ebp]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb edi, edi
mov ecx, ebp
mov esi, 1
shl esi, cl
and edi, esi
test edi, 0x2090
jne 0x5f3359
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0xd0]
jmp 0x5f32fb
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xe8]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0x30]
mov ebx, ebp
jmp 0x5f311f
mov eax, edx
call fcn.00465e00
mov eax, edi
call fcn.00465e00
lea edx, [ebx + 1]
mov ebx, dword [esp + 0xd8]
movzx edi, byte [esp + 0x15]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x1c]
cmp ebx, ebp
jge 0x5f34e4
cmp ebx, ecx
jae 0x5f395f
lea edx, [ebx + ebx*2]
nop
lea edi, [esi + edx*8 + 0x10]
movzx edi, word [edi]
test di, 0x20
jne 0x5f3388
mov word [esp + 0x16], di
mov dword [esp + 0x4c], edx
lea edx, [esi + edx*8 + 0x16]
movzx edx, byte [edx]
cmp dl, 0x20
sbb edi, edi
mov ecx, edx
mov esi, 1
shl esi, cl
and esi, edi
test esi, 0x10
jne 0x5f33fd
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0xd0]
jmp 0x5f3388
cmp ebx, ebp
jge 0x5f34cd
mov ecx, dword [esp + 0x28]
cmp ebx, ecx
jae 0x5f3958
movzx edx, word [esp + 0x16]
test dx, 0x20
je 0x5f3435
mov edx, dword [esp + 0xe8]
mov esi, dword [esp + 0xd0]
movzx edi, byte [esp + 0x15]
jmp 0x5f34e4
test esi, 0x10
jne 0x5f3455
mov edx, dword [esp + 0xe8]
mov esi, dword [esp + 0xd0]
movzx edi, byte [esp + 0x15]
jmp 0x5f34e4
lea edx, [ebx + 1]
cmp ebp, edx
jle 0x5f34b8
cmp ecx, edx
jbe 0x5f3951
nop
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0xd0]
lea ebp, [edi + esi*8 + 0x28]
movzx ebp, word [ebp]
test bp, 0x20
jne 0x5f34bf
lea ebp, [edi + esi*8 + 0x2e]
movzx ebp, byte [ebp]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb esi, esi
mov ecx, ebp
mov edi, 1
shl edi, cl
and esi, edi
test esi, 0x60
je 0x5f34b0
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0xd0]
mov ebx, edx
jmp 0x5f34bf
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x50]
mov edi, dword [esp + 0xd0]
mov edx, dword [esp + 0xe4]
mov edi, ebx
jmp 0x5f3702
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xe8]
mov esi, dword [esp + 0xd0]
movzx edi, byte [esp + 0x15]
xchg edi, eax
cmp al, 5
xchg edi, eax
jne 0x5f34f2
mov ebx, ebp
jmp 0x5f3912
xchg edi, eax
cmp al, 9
xchg edi, eax
jne 0x5f3500
mov ebx, ebp
jmp 0x5f38a2
mov ebx, dword [esp + 0xd8]
mov edi, dword [esp + 0x58]
jmp 0x5f351c
inc edi
mov edx, dword [esp + 0xe8]
mov ebx, dword [esp + 0xd8]
cmp edi, ebp
jge 0x5f365b
cmp edi, ecx
jae 0x5f388a
lea ebx, [edi + edi*2]
nop
lea edx, [esi + ebx*8 + 0x10]
movzx edx, word [edx]
test dx, 0x20
jne 0x5f350d
mov word [esp + 0x16], dx
mov dword [esp + 0x4c], ebx
lea ebx, [esi + ebx*8 + 0x16]
movzx ebx, byte [ebx]
cmp bl, 0x20
sbb edx, edx
mov ecx, ebx
mov esi, 1
shl esi, cl
and esi, edx
test esi, 0x10
jne 0x5f3573
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0xd0]
jmp 0x5f350d
cmp edi, ebp
jge 0x5f3642
mov ecx, dword [esp + 0x28]
cmp edi, ecx
jae 0x5f3883
movzx edx, word [esp + 0x16]
test dx, 0x20
je 0x5f35ad
mov edx, dword [esp + 0xe8]
mov ebx, dword [esp + 0xd8]
mov esi, dword [esp + 0xd0]
jmp 0x5f365b
test esi, 0x10
jne 0x5f35cf
mov edx, dword [esp + 0xe8]
mov ebx, dword [esp + 0xd8]
mov esi, dword [esp + 0xd0]
jmp 0x5f365b
lea edx, [edi + 1]
cmp ebp, edx
jle 0x5f362f
cmp ecx, edx
jbe 0x5f387c
nop
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0xd0]
lea ebp, [esi + ebx*8 + 0x28]
movzx ebp, word [ebp]
test bp, 0x20
jne 0x5f3636
lea ebx, [esi + ebx*8 + 0x2e]
movzx ebx, byte [ebx]
cmp bl, 0x20
sbb ebp, ebp
mov ecx, ebx
mov esi, 1
shl esi, cl
and esi, ebp
test esi, 0x60
je 0x5f3627
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0xd0]
mov edi, edx
jmp 0x5f3636
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0xd0]
mov edx, dword [esp + 0xe4]
jmp 0x5f3702
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xe8]
mov ebx, dword [esp + 0xd8]
mov esi, dword [esp + 0xd0]
lea edi, [edx - 1]
jmp 0x5f366c
dec edi
mov edx, dword [esp + 0xe8]
mov ebp, dword [esp + 0x50]
mov edx, dword [esp + 0xe4]
cmp edx, edi
jge 0x5f3690
cmp edi, ecx
jae 0x5f3875
lea ebp, [edi + edi*2]
lea ebp, [esi + ebp*8 + 0x17]
cmp byte [ebp], 0xd
je 0x5f3660
mov ebp, dword [esp + 0x50]
movzx ebx, byte [ebx + 0xa9]
test bl, bl
jne 0x5f3702
cmp edi, ecx
jae 0x5f386e
lea ebx, [edi + edi*2]
nop
lea edx, [esi + ebx*8 + 0x10]
movzx edx, word [edx]
test dx, 0x20
jne 0x5f36fb
lea edx, [esi + ebx*8 + 0x16]
movzx edx, byte [edx]
cmp dl, 0x20
sbb ebx, ebx
mov ecx, edx
mov esi, 1
shl esi, cl
and ebx, esi
test ebx, 0x10
je 0x5f36e7
lea edx, [ebp + 1]
mov ebx, dword [esp + 0xd0]
mov ecx, dword [esp + 0x28]
jmp 0x5f3836
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xe4]
mov esi, dword [esp + 0xd0]
jmp 0x5f3702
mov edx, dword [esp + 0xe4]
mov dword [esp + 0x1c], edi
mov dword [esp], eax
mov dword [esp + 4], edx
lea ecx, [edi + 1]
mov dword [esp + 8], ecx
call fcn.005e2380
lea edi, [esp + 0xb0]
mov esi, dword [esp + 0xcc]
call fcn.004664c4
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
cmp ecx, edx
ja 0x5f3830
mov eax, dword [esp + 0xe4]
cmp eax, ecx
ja 0x5f382b
mov ebx, dword [esp + 0x54]
shl ebx, 3
sub ecx, eax
mov esi, edx
sub edx, eax
mov edi, edx
neg edx
sar edx, 0x1f
and edx, ebx
mov ebp, dword [esp + 0xd0]
add edx, ebp
mov dword [esp + 0xcc], edx
lea edx, [edi - 1]
neg edx
add ebx, 0x18
sar edx, 0x1f
and edx, ebx
add edx, ebp
mov ebx, dword [esp + 0x28]
mov edi, ebx
sub ebx, eax
dec ebx
cmp ecx, ebx
jg 0x5f378f
mov ebx, ecx
mov ecx, ebp
mov ebp, dword [esp + 0xcc]
cmp edx, ebp
je 0x5f37c8
mov dword [esp], ebp
mov dword [esp + 4], edx
lea eax, [ebx + ebx*2]
shl eax, 3
mov dword [esp + 8], eax
call fcn.004666e0
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd0]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
cmp edx, edi
jae 0x5f3822
lea ebx, [edx + edx*2]
lea ebx, [ecx + ebx*8]
mov ebp, edi
mov edi, ebx
lea esi, [esp + 0xb0]
call fcn.004664c4
mov ecx, dword [esp + 0x50]
cmp eax, ecx
jge 0x5f37f7
cmp edx, ecx
jl 0x5f37f7
lea edx, [ecx - 1]
jmp 0x5f37f9
mov edx, ecx
mov eax, dword [esp + 0xe0]
mov ecx, ebp
mov ebx, dword [esp + 0xe4]
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0x58]
mov ebp, edx
mov edx, dword [esp + 0xe8]
jmp 0x5f2fa3
mov eax, edx
mov ecx, edi
call fcn.00465e00
call fcn.00465e60
call fcn.00465e40
inc edx
cmp edx, edi
jge 0x5f3859
cmp edx, ecx
jae 0x5f3867
lea esi, [edx + edx*2]
lea esi, [ebx + esi*8 + 0x16]
movzx esi, byte [esi]
xchg esi, eax
cmp al, 7
xchg esi, eax
je 0x5f3856
xchg esi, eax
cmp al, 0xd
xchg esi, eax
jne 0x5f3835
dec edi
jmp 0x5f3835
mov edx, dword [esp + 0xe4]
mov esi, ebx
jmp 0x5f3702
mov eax, edx
call fcn.00465e00
mov eax, edi
call fcn.00465e00
mov eax, edi
call fcn.00465e00
mov eax, edx
call fcn.00465e00
mov eax, edi
call fcn.00465e00
mov eax, edi
call fcn.00465e00
mov esi, dword [esp + 0xd0]
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x50]
mov ebp, edi
lea edi, [ebp + 1]
cmp edx, edi
jle 0x5f38e7
cmp ecx, edi
jbe 0x5f3900
mov dword [esp + 0x48], ebp
lea ebx, [ebp + ebp*2]
lea ebx, [esi + ebx*8 + 0x2f]
movzx ebx, byte [ebx]
cmp bl, 0x20
sbb ebp, ebp
mov ecx, ebx
mov esi, 1
shl esi, cl
and ebp, esi
test ebp, 0x3800
je 0x5f3891
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0xd0]
cmp edx, ebp
jg 0x5f38f2
mov ebp, ebx
jmp 0x5f3500
mov edx, dword [esp + 0xe4]
mov edi, ebp
jmp 0x5f3702
mov eax, edi
call fcn.00465e00
movzx edi, byte [esp + 0x15]
mov ebp, ebx
mov ebx, dword [esp + 0x50]
lea ebx, [ebp + 1]
cmp edx, ebx
jle 0x5f392f
cmp ecx, ebx
jbe 0x5f394a
lea edi, [ebp + ebp*2]
lea edi, [esi + edi*8 + 0x2f]
cmp byte [edi], 5
jbe 0x5f3907
movzx edi, byte [esp + 0x15]
cmp edx, ebp
jg 0x5f393c
mov ebp, dword [esp + 0x50]
jmp 0x5f34f2
mov edx, dword [esp + 0xe4]
mov edi, ebp
jmp 0x5f3702
mov eax, ebx
call fcn.00465e00
mov eax, edx
call fcn.00465e00
mov eax, ebx
call fcn.00465e00
mov eax, ebx
call fcn.00465e00
mov eax, ebx
call fcn.00465e00
mov ebx, dword [esp + 0xe4]
cmp ebx, ebp
jge 0x5f39a4
cmp ebp, ecx
jae 0x5f3c1c
lea ebx, [ebp + ebp*2]
lea ebx, [esi + ebx*8 + 0x17]
cmp byte [ebx], 2
je 0x5f399d
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x34], ebp
jmp 0x5f3a5f
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x3c]
jmp 0x5f39af
inc ebx
mov edx, dword [esp + 0x2c]
cmp ebx, ebp
jge 0x5f3a1e
cmp ebx, ecx
jae 0x5f3a3d
lea edx, [ebx + ebx*2]
lea edx, [esi + edx*8 + 0x17]
cmp byte [edx], 2
jne 0x5f39aa
lea edx, [ebp + 1]
mov edi, dword [esp + 0xe8]
cmp edi, edx
jl 0x5f39d7
mov edi, edx
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
call fcn.005e2380
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x58]
cmp eax, ecx
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xe8]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0xd8]
jmp 0x5f3a2b
mov ebx, dword [esp + 0xe8]
mov edx, dword [esp + 0x58]
cmp ebx, edx
mov edx, ebx
mov ebx, dword [esp + 0xe4]
mov edi, dword [esp + 0x58]
jmp 0x5f2efd
mov eax, ebx
call fcn.00465e00
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x34], eax
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0xe4]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x34]
cmp ebx, ebp
jge 0x5f3bea
lea ebx, [ebp - 1]
cmp ecx, ebx
jbe 0x5f3c15
mov dword [esp + 0x54], ebx
lea ebp, [ebp + ebp*2]
mov dword [esp + 0x4c], ebp
lea ebx, [esi + ebp*8 - 0x18]
lea ebp, [esi + ebp*8 - 1]
cmp byte [ebp], 2
je 0x5f3a9e
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x24]
jmp 0x5f3a44
mov ebp, dword [esp + 0x3c]
mov ecx, dword [esp + 0x54]
cmp ebp, ecx
jle 0x5f3ab5
mov ecx, dword [esp + 0x24]
cmp ecx, ebp
jl 0x5f3ab9
dec ebp
jmp 0x5f3ab9
mov ecx, dword [esp + 0x24]
lea edi, [esp + 0x98]
mov esi, ebx
call fcn.004664c4
mov ecx, dword [esp + 0x24]
cmp ecx, edx
ja 0x5f3c10
mov ebx, dword [esp + 0x54]
cmp ecx, ebx
jb 0x5f3c09
mov esi, ebx
mov ebx, dword [esp + 0x4c]
shl ebx, 3
mov dword [esp + 0x4c], ebx
mov edi, ebp
lea ebp, [ebx - 0x18]
mov ebx, dword [esp + 0x34]
sub edx, ebx
mov dword [esp + 0x44], edx
inc edx
neg edx
sar edx, 0x1f
and ebp, edx
mov edx, dword [esp + 0xd0]
add ebp, edx
mov dword [esp + 0xcc], ebp
sub ecx, ebx
lea ebp, [ecx + 1]
mov dword [esp + 0x40], ebp
mov ecx, dword [esp + 0x28]
sub ecx, ebx
mov ebx, dword [esp + 0x44]
neg ebx
sar ebx, 0x1f
mov ebp, dword [esp + 0x4c]
and ebp, ebx
lea ebx, [edx + ebp]
mov ebp, dword [esp + 0x40]
cmp ecx, ebp
jl 0x5f3b3e
mov ecx, ebp
mov dword [esp + 0x4c], edi
mov ebp, dword [esp + 0xcc]
cmp ebx, ebp
je 0x5f3b79
mov dword [esp], ebp
mov dword [esp + 4], ebx
lea eax, [ecx + ecx*2]
shl eax, 3
mov dword [esp + 8], eax
call fcn.004666e0
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xd0]
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
cmp ebx, ecx
jae 0x5f3c02
lea ebp, [ebx + ebx*2]
lea ebp, [edx + ebp*8]
mov edi, ebp
lea esi, [esp + 0x98]
call fcn.004664c4
mov ecx, dword [esp + 0x4c]
lea ebp, [ecx + 1]
mov edx, dword [esp + 0xe8]
cmp edx, ebp
jl 0x5f3bad
mov edx, ebp
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.005e2380
mov eax, dword [esp + 0x24]
lea ebp, [eax - 1]
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0xd8]
mov ebx, dword [esp + 0x4c]
jmp 0x5f3a44
mov ebp, dword [esp + 0xe8]
mov edx, dword [esp + 0x58]
cmp ebp, edx
mov ebx, ebp
mov ebp, dword [esp + 0x3c]
jmp 0x5f3a2b
mov eax, ebx
call fcn.00465e00
mov eax, ebx
call fcn.00465e60
call fcn.00465e40
mov eax, ebx
call fcn.00465e00
mov eax, ebp
call fcn.00465e00
lea ebx, [ecx - 1]
mov ecx, dword [esp + 0x28]
mov ebp, ebx
mov ebx, dword [esp + 0xe4]
jmp 0x5f3cfd
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x24]
cmp ebp, ecx
jae 0x5f3d92
lea ebx, [ebp + ebp*2]
nop
lea ebp, [esi + ebx*8 + 0x10]
movzx ebp, word [ebp]
test bp, 0x20
jne 0x5f3d75
mov dword [esp + 0x54], ebx
lea ebp, [esi + ebx*8 + 0x16]
movzx ebp, byte [ebp]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebx, ebx
mov dword [esp + 0x5c], ebx
mov ecx, ebp
mov ebx, 1
shl ebx, cl
mov ebp, dword [esp + 0x5c]
and ebx, ebp
test ebx, 0x10
je 0x5f3d71
mov ebx, dword [esp + 0x54]
lea ebp, [esi + ebx*8 + 0x17]
cmp byte [ebp], 2
je 0x5f3d6b
mov ebp, dword [esp + 0x24]
mov ecx, ebp
inc ebp
mov ebx, dword [esp + 0xe8]
cmp ebx, ebp
jle 0x5f3d5e
mov ebx, dword [esp + 0x28]
cmp ebx, ebp
jbe 0x5f3d89
mov ebp, dword [esp + 0x54]
lea ebp, [esi + ebp*8 + 0x2e]
cmp byte [ebp], 6
jne 0x5f3d55
mov ebp, dword [esp + 0xe4]
cmp ebp, ecx
jl 0x5f3c23
jmp 0x5f3d80
mov ebx, dword [esp + 0x24]
lea ebp, [ebx - 1]
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x24], ebp
cmp ebx, ebp
jge 0x5f3c47
cmp ebp, ecx
jae 0x5f3d99
lea ebx, [ebp + ebp*2]
lea ebp, [esi + ebx*8 + 0x10]
movzx ebp, word [ebp]
test bp, 0x20
jne 0x5f3cef
lea ebx, [esi + ebx*8 + 0x16]
movzx ebx, byte [ebx]
cmp bl, 0x20
sbb ebp, ebp
mov dword [esp + 0x5c], ebp
mov ecx, ebx
mov ebp, 1
shl ebp, cl
mov ebx, dword [esp + 0x5c]
and ebp, ebx
test ebp, 0x2090
jne 0x5f3c38
mov ecx, dword [esp + 0x28]
jmp 0x5f3cef
mov ebp, dword [esp + 0xe4]
jmp 0x5f3d80
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0xe4]
jmp 0x5f3d80
mov ecx, dword [esp + 0x28]
jmp 0x5f3d75
mov ecx, dword [esp + 0x28]
mov ebx, ecx
mov ebp, dword [esp + 0xe4]
mov ecx, ebp
mov ebp, ecx
mov ecx, ebx
jmp 0x5f396d
mov eax, ebp
mov ecx, ebx
call fcn.00465e00
mov eax, ebp
call fcn.00465e00
mov eax, ebp
call fcn.00465e00
mov ecx, dword [esp + 0x4c]
lea ebp, [ecx - 1]
mov ecx, dword [esp + 0xe4]
mov ebx, dword [esp + 0x28]
mov ecx, ebx
mov ebx, dword [esp + 0xe8]
mov ebx, dword [esp + 0xe4]
cmp ebx, ebp
jge 0x5f3e24
cmp ebp, ecx
jae 0x5f3e30
mov dword [esp + 0x4c], ebp
lea ebx, [ebp + ebp*2]
lea ebp, [esi + ebx*8 + 0x10]
movzx ebp, word [ebp]
test bp, 0x20
jne 0x5f3e19
lea ebx, [esi + ebx*8 + 0x16]
movzx ebx, byte [ebx]
cmp bl, 0x20
sbb ebp, ebp
mov dword [esp + 0x5c], ebp
mov ecx, ebx
mov ebp, 1
shl ebp, cl
mov ebx, dword [esp + 0x5c]
and ebp, ebx
test ebp, 0x18
jne 0x5f3da0
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x4c]
jmp 0x5f3e24
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0xe8]
jmp 0x5f2e76
mov eax, ebp
call fcn.00465e00
mov eax, ebx
call fcn.00465e00
cmp dword [eax + 0x44], 0x6d6c796d
jne 0x5f3e4c
lea ebp, [ebx + 1]
jmp 0x5f3e95
mov ebp, dword [esp + 0xe4]
cmp ebp, ebx
jge 0x5f3e79
cmp ebx, ecx
jae 0x5f3e87
lea ebp, [ebx + ebx*2]
lea ebp, [esi + ebp*8 + 0x17]
cmp byte [ebp], 4
jbe 0x5f3e72
dec ebx
mov ebp, dword [esp + 0xe4]
jmp 0x5f3e79
mov ebp, dword [esp + 0xe4]
mov ebp, ebx
mov ebx, dword [esp + 0xe8]
jmp 0x5f2dcd
mov eax, ebx
call fcn.00465e00
inc ebx
mov ebp, ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0xe8]
cmp ebx, ebp
jg 0x5f4019
jmp 0x5f3ffc
mov ebx, dword [esp + 0xe8]
mov ebp, dword [esp + 0x38]
cmp ebx, ebp
mov ecx, dword [esp + 0x28]
jmp 0x5f3ecd
mov ebx, dword [esp + 0xe8]
mov ebp, dword [esp + 0x38]
cmp ebx, ebp
je 0x5f3ffc
cmp ebp, ecx
jae 0x5f410b
lea ebx, [ebp + ebp*2]
lea ebp, [esi + ebx*8 + 0x10]
movzx ebp, word [ebp]
test bp, 0x20
jne 0x5f4081
lea ebx, [esi + ebx*8 + 0x16]
movzx ebx, byte [ebx]
cmp bl, 0x20
sbb ebp, ebp
mov dword [esp + 0x5c], ebp
mov ecx, ebx
mov ebp, 1
shl ebp, cl
mov ebx, dword [esp + 0x5c]
and ebp, ebx
test ebp, 0x10
je 0x5f4071
mov ebx, dword [esp + 0x38]
inc ebx
mov ebp, dword [esp + 0xe8]
mov ecx, dword [esp + 0x28]
jmp 0x5f409f
mov ebx, dword [esp + 0xe8]
mov ebp, dword [esp + 0x58]
cmp ebx, ebp
mov ecx, dword [esp + 0x28]
mov ebx, ebp
mov ebp, dword [esp + 0xe8]
jmp 0x5f3f5b
mov ebp, dword [esp + 0xe8]
mov ebx, dword [esp + 0x58]
cmp ebp, ebx
jle 0x5f3e8e
cmp ebx, ecx
jae 0x5f40fd
movzx ebp, word [esp + 0x16]
test bp, 0x20
je 0x5f3f81
mov ebp, dword [esp + 0xe8]
jmp 0x5f3e8e
mov ebp, dword [esp + 0x44]
lea ebx, [esi + ebp*8 + 0x16]
movzx ebx, byte [ebx]
cmp bl, 0x20
sbb ebp, ebp
mov dword [esp + 0x5c], ebp
mov ecx, ebx
mov ebp, 1
shl ebp, cl
mov ebx, dword [esp + 0x5c]
and ebp, ebx
test ebp, 0x58c06
je 0x5f3fe8
mov ebx, dword [esp + 0x44]
lea ebx, [esi + ebx*8 + 0x17]
cmp byte [ebx], 8
jne 0x5f3fd4
mov byte [ebx], 4
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0xe8]
mov dword [esp + 0x3c], ebx
jmp 0x5f3e8e
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0xe8]
jmp 0x5f3e8e
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0xe8]
jmp 0x5f3e8e
mov ebp, ebx
mov ebx, dword [esp + 0x3c]
jmp 0x5f3e4c
mov ecx, dword [esp + 0x38]
lea ebp, [ecx + 1]
mov ebx, dword [esp + 0xe8]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x38], ebp
cmp ebx, ebp
jle 0x5f3ecd
cmp ebp, ecx
jae 0x5f4112
lea ebx, [ebp + ebp*2]
nop
lea ebp, [esi + ebx*8 + 0x10]
movzx ebp, word [ebp]
test bp, 0x20
jne 0x5f3ec0
lea ebx, [esi + ebx*8 + 0x16]
movzx ebx, byte [ebx]
cmp bl, 0x20
sbb ebp, ebp
mov dword [esp + 0x5c], ebp
mov ecx, ebx
mov ebp, 1
shl ebp, cl
mov ebx, dword [esp + 0x5c]
and ebp, ebx
test ebp, 0x60
jne 0x5f4007
jmp 0x5f3ead
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0xe8]
jmp 0x5f3ffc
mov ebx, dword [esp + 0xe8]
jmp 0x5f3ffc
mov ecx, dword [esp + 0x58]
lea ebx, [ecx + 1]
mov ebp, dword [esp + 0xe8]
mov ecx, dword [esp + 0x28]
cmp ebp, ebx
jle 0x5f3e8e
cmp ebx, ecx
jae 0x5f4104
mov dword [esp + 0x58], ebx
lea ebp, [ebx + ebx*2]
mov dword [esp + 0x44], ebp
nop
lea ebx, [esi + ebp*8 + 0x10]
movzx ebx, word [ebx]
mov word [esp + 0x16], bx
test bx, 0x20
jne 0x5f3f4e
lea ebp, [esi + ebp*8 + 0x16]
movzx ebp, byte [ebp]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebx, ebx
mov dword [esp + 0x5c], ebx
mov ecx, ebp
mov ebx, 1
shl ebx, cl
mov ebp, dword [esp + 0x5c]
and ebx, ebp
test ebx, 0x60
jne 0x5f408d
jmp 0x5f3f32
mov eax, ebx
call fcn.00465e00
mov eax, ebx
call fcn.00465e00
mov eax, ebp
call fcn.00465e00
mov eax, ebp
call fcn.00465e00
mov ebp, dword [esp + 0x58]
inc ebp
mov ebx, ebp
mov ebp, dword [esp + 0xe8]
cmp ebp, ebx
jle 0x5f418a
cmp ebx, ecx
jae 0x5f4263
mov dword [esp + 0x58], ebx
lea ebp, [ebx + ebx*2]
mov dword [esp + 0x44], ebp
lea ebp, [esi + ebp*8 + 0xc]
mov ebp, dword [ebp]
mov ebx, dword [esp + 0x5c]
test ebx, ebp
je 0x5f4119
mov ebx, dword [esp + 0x44]
lea ebx, [esi + ebx*8 + 0x10]
movzx ebx, word [ebx]
test bx, 0x10
je 0x5f417d
test bx, 0x20
je 0x5f417d
test bx, 0x40
jne 0x5f417d
mov ebx, dword [esp + 0xe8]
mov ebp, dword [esp + 0x3c]
jmp 0x5f4247
mov ebp, dword [esp + 0xe8]
mov ebx, dword [esp + 0x58]
jmp 0x5f41a5
mov ebx, dword [esp + 0x3c]
jmp 0x5f3e3e
mov ecx, dword [esp + 0x40]
lea ebx, [ecx + 1]
mov ebp, dword [esp + 0xe8]
mov ecx, dword [esp + 0x28]
cmp ebp, ebx
jle 0x5f4230
cmp ebx, ecx
jae 0x5f425c
mov dword [esp + 0x40], ebx
lea ebp, [ebx + ebx*2]
mov dword [esp + 0x58], ebp
nop
lea ebx, [esi + ebp*8 + 0x10]
movzx ebx, word [ebx]
test bx, 0x20
jne 0x5f4209
lea ebx, [esi + ebp*8 + 0x16]
movzx ebx, byte [ebx]
cmp bl, 0x20
sbb ebp, ebp
mov dword [esp + 0x5c], ebp
mov ecx, ebx
mov ebp, 1
shl ebp, cl
mov ebx, dword [esp + 0x5c]
and ebp, ebx
test ebp, 0x10
jne 0x5f4193
mov ebx, dword [esp + 0xe8]
mov ebp, dword [esp + 0x40]
cmp ebx, ebp
mov ecx, dword [esp + 0x28]
jmp 0x5f4216
mov ebx, dword [esp + 0xe8]
mov ebp, dword [esp + 0x40]
cmp ebx, ebp
jle 0x5f4239
cmp ebp, ecx
jae 0x5f4255
mov ebx, dword [esp + 0x58]
lea ebx, [esi + ebx*8 + 0x17]
mov byte [ebx], 4
mov ebx, dword [esp + 0xe8]
jmp 0x5f4239
mov ebp, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 0x60], eax
xor eax, eax
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x60]
mov ebx, ebp
mov ebp, dword [esp + 0xe8]
jmp 0x5f3e3e
mov eax, ebp
call fcn.00465e00
mov eax, ebx
call fcn.00465e00
mov eax, ebx
call fcn.00465e00
mov eax, ebp
call fcn.00465e00
inc edi
mov ebx, dword [esp + 0xe8]
mov ebx, dword [esp + 0xd8]
mov ebx, dword [esp + 0xe8]
cmp ebx, edi
jle 0x5f42e8
cmp edi, ecx
jae 0x5f42f4
lea ebx, [edi + edi*2]
mov dword [esp + 0x58], ebx
lea ebx, [esi + ebx*8 + 8]
cmp dword [ebx], ebp
jne 0x5f4271
mov ebx, dword [esp + 0x58]
lea ebp, [esi + ebx*8 + 0x10]
mov dword [esp + 0xc8], ebp
movzx ebp, word [ebp]
test bp, 0x20
je 0x5f42e2
test bp, 0x40
je 0x5f42dc
lea ebx, [esi + ebx*8 + 0x16]
mov byte [ebx], 4
mov ebx, dword [esp + 0xc8]
movzx ebp, word [ebx]
and ebp, 0xffffff9f
mov word [ebx], bp
mov ebp, dword [esp + 0x18]
jmp 0x5f4271
mov ebp, dword [esp + 0x18]
jmp 0x5f4271
mov ebp, dword [esp + 0x18]
jmp 0x5f4271
mov ebx, dword [esp + 0xd8]
jmp 0x5f2d34
mov eax, edi
call fcn.00465e00
nop
call fcn.004649b0
jmp fcn.005f2ce0