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

Disassembly:
push 0xffffffffffffffff
push 0x6c7403
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x168
push ebx
push ebp
push esi
push edi
mov esi, ecx
xor ebx, ebx
xor edi, edi
lea ecx, [esp + 0x134]
mov dword [esp + 0x180], ebx
mov dword [esp + 0x30], edi
call fcn.0061aaa0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x180], 1
call fcn.0061d780
push 0x6c
push 0xf1
push 0x60
lea ecx, [esp + 0x164]
mov byte [esp + 0x18c], 2
call fcn.00555f00
mov al, byte [esp + 0x13]
mov dword [esp + 0x18], ebx
mov byte [esp + 0x14], al
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
push 6
push 0x71c1fc
lea ecx, [esp + 0x3c]
mov byte [esp + 0x188], 4
call fcn.0061d820
xor edx, edx
mov al, 0xae
mov dword [esp + 0x48], edx
mov cl, 0x20
mov dword [esp + 0x4c], edx
mov dl, 0x80
mov byte [esp + 0x180], 5
mov byte [esp + 0x3c], 8
mov byte [esp + 0x3d], al
mov byte [esp + 0x3e], 1
mov byte [esp + 0x3f], bl
mov byte [esp + 0x40], bl
mov byte [esp + 0x41], 3
mov byte [esp + 0x42], bl
mov byte [esp + 0x43], bl
mov byte [esp + 0x44], bl
mov byte [esp + 0x45], bl
mov byte [esp + 0x46], 1
mov byte [esp + 0x47], cl
mov byte [esp + 0x50], 8
mov byte [esp + 0x51], al
mov byte [esp + 0x52], 1
mov byte [esp + 0x53], bl
mov byte [esp + 0x54], bl
mov byte [esp + 0x55], bl
mov byte [esp + 0x56], bl
mov byte [esp + 0x57], bl
mov byte [esp + 0x58], bl
mov byte [esp + 0x59], bl
mov byte [esp + 0x5a], 8
mov byte [esp + 0x5b], al
mov byte [esp + 0x5c], 1
mov byte [esp + 0x5d], bl
mov byte [esp + 0x5e], bl
mov byte [esp + 0x5f], bl
mov byte [esp + 0x60], dl
mov byte [esp + 0x61], 0xff
mov byte [esp + 0x62], bl
mov byte [esp + 0x63], bl
mov byte [esp + 0x64], 8
mov byte [esp + 0x65], al
mov byte [esp + 0x66], 1
mov byte [esp + 0x67], bl
mov byte [esp + 0x68], bl
mov byte [esp + 0x69], bl
mov byte [esp + 0x6a], dl
mov dl, 0x40
mov byte [esp + 0x6b], bl
mov byte [esp + 0x6c], bl
mov byte [esp + 0x6d], bl
mov byte [esp + 0x6e], 8
mov byte [esp + 0x6f], al
mov byte [esp + 0x70], 1
mov byte [esp + 0x71], bl
mov byte [esp + 0x72], bl
mov byte [esp + 0x73], bl
mov byte [esp + 0x74], bl
mov byte [esp + 0x75], bl
mov byte [esp + 0x76], bl
mov byte [esp + 0x77], bl
mov byte [esp + 0x78], 8
mov byte [esp + 0x79], al
mov byte [esp + 0x7a], 1
mov byte [esp + 0x7b], bl
mov byte [esp + 0x7c], bl
mov byte [esp + 0x7d], bl
mov byte [esp + 0x7e], dl
mov byte [esp + 0x7f], 0xff
mov byte [esp + 0x80], bl
mov byte [esp + 0x81], bl
mov byte [esp + 0x82], 8
mov byte [esp + 0x83], al
mov byte [esp + 0x84], 1
mov byte [esp + 0x85], bl
mov byte [esp + 0x86], bl
mov byte [esp + 0x87], bl
mov byte [esp + 0x88], dl
mov byte [esp + 0x89], bl
mov byte [esp + 0x8a], bl
mov byte [esp + 0x8b], bl
mov byte [esp + 0x8c], 8
mov byte [esp + 0x8d], al
mov byte [esp + 0x8e], 1
mov byte [esp + 0x8f], bl
mov byte [esp + 0x90], bl
mov byte [esp + 0x91], bl
mov byte [esp + 0x92], bl
mov byte [esp + 0x93], bl
mov byte [esp + 0x94], bl
mov byte [esp + 0x95], bl
mov byte [esp + 0x96], 8
mov byte [esp + 0x97], al
mov byte [esp + 0x98], 1
mov byte [esp + 0x99], bl
mov byte [esp + 0x9a], bl
mov byte [esp + 0x9b], bl
mov byte [esp + 0x9c], cl
mov byte [esp + 0x9d], 0xff
mov byte [esp + 0x9e], bl
mov byte [esp + 0x9f], bl
mov byte [esp + 0xa0], 8
mov byte [esp + 0xa1], al
mov byte [esp + 0xa2], 1
mov byte [esp + 0xa3], bl
mov byte [esp + 0xa4], bl
mov byte [esp + 0xa5], bl
mov byte [esp + 0xa6], cl
mov byte [esp + 0xa7], bl
mov byte [esp + 0xa8], bl
mov byte [esp + 0xa9], bl
mov byte [esp + 0xaa], 8
mov byte [esp + 0xab], al
mov byte [esp + 0xac], 1
mov byte [esp + 0xad], bl
mov byte [esp + 0xae], bl
mov byte [esp + 0xaf], bl
mov byte [esp + 0xb0], bl
mov byte [esp + 0xb1], bl
mov byte [esp + 0xb2], bl
mov byte [esp + 0xb3], bl
mov byte [esp + 0xb4], 8
mov byte [esp + 0xb5], al
mov byte [esp + 0xb6], 1
mov byte [esp + 0xb7], bl
mov byte [esp + 0xb8], bl
mov byte [esp + 0xb9], bl
mov cl, 0x10
mov byte [esp + 0xbf], al
mov byte [esp + 0xc9], al
mov eax, dword [esi]
mov byte [esp + 0xba], cl
mov byte [esp + 0xc4], cl
mov ecx, esi
mov byte [esp + 0xbb], 0xff
mov byte [esp + 0xbc], bl
mov byte [esp + 0xbd], bl
mov byte [esp + 0xbe], 8
mov byte [esp + 0xc0], 1
mov byte [esp + 0xc1], bl
mov byte [esp + 0xc2], bl
mov byte [esp + 0xc3], bl
mov byte [esp + 0xc5], bl
mov byte [esp + 0xc6], bl
mov byte [esp + 0xc7], bl
mov byte [esp + 0xc8], 8
mov byte [esp + 0xca], 1
mov byte [esp + 0xcb], bl
mov byte [esp + 0xcc], bl
mov byte [esp + 0xcd], bl
mov byte [esp + 0xce], bl
mov byte [esp + 0xcf], bl
mov byte [esp + 0xd0], bl
mov byte [esp + 0xd1], bl
call dword [eax + 0x18]
test ax, ax
jne 0x537ebb
lea ecx, [esp + 0x34]
mov byte [esp + 0x180], 4
call fcn.0061d8c0
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x537e58
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x537e4f
cmp al, 0xff
je 0x537e4f
dec al
mov byte [ecx], al
jmp 0x537e58
push ecx
call fcn.006a64d0
add esp, 4
lea ecx, [esp + 0x158]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov byte [esp + 0x180], 2
call fcn.00555f30
lea ecx, [esp + 0x2c]
mov byte [esp + 0x180], 1
call fcn.0061d8c0
lea ecx, [esp + 0x134]
mov byte [esp + 0x180], bl
call fcn.0061ab90
lea ecx, [esp + 0x188]
mov dword [esp + 0x180], 0xffffffff
call fcn.0061d8c0
xor ax, ax
jmp 0x538c38
push 5
lea ecx, [esp + 0x18c]
call fcn.0061daa0
push ecx
mov byte [esp + 0x17], al
mov ecx, esp
mov dword [esp + 0x3c], esp
push 6
push 0x713764
call fcn.0061d820
lea ecx, [esp + 0xd8]
push ecx
call fcn.0061ca80
add esp, 8
mov edx, dword [0x6dd1fc]
lea ecx, [esp + 0x14]
push edx
push ebx
push eax
mov byte [esp + 0x18c], 6
call fcn.004136c0
mov eax, dword [esp + 0xd8]
mov byte [esp + 0x180], 5
cmp eax, ebx
je 0x537f3a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x537f31
cmp al, 0xff
je 0x537f31
dec al
mov byte [ecx], al
jmp 0x537f3a
push ecx
call fcn.006a64d0
add esp, 4
mov al, byte [esp + 0x13]
cmp al, 0x5a
je 0x538644
jbe 0x538ba3
cmp al, 0x5e
ja 0x538ba3
sub al, 0x5a
mov byte [esp + 0x13], bl
mov byte [esp + 0x38], al
push ecx
lea eax, [esp + 0x18c]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.0061d790
mov ecx, dword [0x72baec]
call fcn.0062e250
mov esi, dword [esp + 0x30]
cmp si, bx
je 0x538449
cmp byte [0x72bd0c], bl
je 0x537fa7
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 1
push 0x713848
call fcn.0061d820
jmp 0x537ff9
mov eax, dword [esp + 0x38]
sub esp, 0x24
and eax, 0xff
mov ecx, esp
movsx edx, si
lea eax, [eax + eax*2]
mov dword [esp + 0x48], esp
add eax, edx
push ebx
push 1
lea eax, [eax + eax*4]
lea edx, [esp + eax*2 + 0x5e]
push edx
push ecx
lea ecx, [esp + 0x18c]
call fcn.00556960
lea ecx, [esp + 0x158]
call fcn.0061ac40
push ecx
lea ecx, [esp + 0x138]
mov eax, esp
mov dword [esp + 0x28], esp
push eax
call fcn.0061afb0
lea ecx, [esp + 0x30]
call fcn.0061dab0
lea ecx, [esp + 0x2c]
call fcn.0061dc40
test ax, ax
jle 0x538445
cmp si, 1
jne 0x538155
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x71c2ec
call fcn.0061d820
lea ecx, [esp + 0xe8]
push ecx
call fcn.0061ca80
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov ecx, dword [0x6dd1fc]
mov ebp, eax
mov byte [esp + 0x180], 0xb
cmp ecx, ebp
jae 0x53805c
mov ebp, ecx
lea edx, [esp + 0x14]
cmp edx, esi
jne 0x53807f
push ecx
push ebp
lea ecx, [esp + 0x1c]
call fcn.004140f0
push ebx
push ebx
lea ecx, [esp + 0x1c]
call fcn.004140f0
jmp 0x538107
cmp ebp, ebx
jbe 0x5380cc
cmp ebp, eax
jne 0x5380cc
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x538093
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x5380cc
push 1
lea ecx, [esp + 0x18]
call fcn.004138c0
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x5380b0
mov eax, 0x6dd1f8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x538107
push 1
push ebp
lea ecx, [esp + 0x1c]
call fcn.00414230
test al, al
je 0x538107
mov esi, dword [esi + 4]
cmp esi, ebx
jne 0x5380e8
mov esi, 0x6dd1f8
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ebp
mov byte [ecx + ebp], bl
mov eax, dword [esp + 0xe8]
mov byte [esp + 0x180], 5
cmp eax, ebx
je 0x538137
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x53812e
cmp al, 0xff
je 0x53812e
dec al
mov byte [ecx], al
jmp 0x538137
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf0], ebx
mov byte [esp + 0x13], bl
jmp 0x538445
cmp si, 2
jne 0x5382bb
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x71c2e4
call fcn.0061d820
lea edx, [esp + 0xf8]
push edx
call fcn.0061ca80
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov ecx, dword [0x6dd1fc]
mov ebp, eax
mov byte [esp + 0x180], 0xc
cmp ecx, ebp
jae 0x53819d
mov ebp, ecx
lea edx, [esp + 0x14]
cmp edx, esi
jne 0x5381c0
push ecx
push ebp
lea ecx, [esp + 0x1c]
call fcn.004140f0
push ebx
push ebx
lea ecx, [esp + 0x1c]
call fcn.004140f0
jmp 0x53826d
cmp ebp, ebx
jbe 0x538233
cmp ebp, eax
jne 0x538233
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x5381d4
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x538233
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x5381ff
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5381f6
cmp al, 0xff
je 0x5381f6
dec al
mov byte [ecx], al
jmp 0x5381ff
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x538217
mov eax, 0x6dd1f8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x53826d
push 1
push ebp
lea ecx, [esp + 0x1c]
call fcn.00414230
test al, al
je 0x53826d
mov esi, dword [esi + 4]
cmp esi, ebx
jne 0x53824f
mov esi, 0x6dd1f8
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov eax, ecx
push ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.00414210
mov eax, dword [esp + 0xf8]
mov byte [esp + 0x180], 5
cmp eax, ebx
je 0x53829d
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x538294
cmp al, 0xff
je 0x538294
dec al
mov byte [ecx], al
jmp 0x53829d
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], ebx
mov byte [esp + 0x13], bl
jmp 0x538445
cmp si, 3
jne 0x538445
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x713764
call fcn.0061d820
lea ecx, [esp + 0x128]
push ecx
call fcn.0061ca80
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov edi, dword [0x6dd1fc]
mov ebp, eax
mov byte [esp + 0x180], 0xd
cmp edi, ebp
jae 0x538303
mov ebp, edi
lea edx, [esp + 0x14]
cmp edx, esi
jne 0x538374
cmp dword [esp + 0x1c], ebp
jae 0x538316
call fcn.006a6707
lea ecx, [esp + 0x14]
call fcn.00414b70
mov eax, dword [esp + 0x1c]
sub eax, ebp
cmp eax, edi
jae 0x53832b
mov edi, eax
cmp edi, ebx
jbe 0x538364
mov ecx, dword [esp + 0x18]
sub eax, edi
add ecx, ebp
push eax
lea edx, [ecx + edi]
push edx
push ecx
call fcn.006a6c70
mov esi, dword [esp + 0x28]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x14]
push ebx
push esi
call fcn.00414230
test al, al
je 0x538364
push esi
lea ecx, [esp + 0x18]
call fcn.00414210
push ebx
push ebx
lea ecx, [esp + 0x1c]
call fcn.004140f0
jmp 0x5383fb
cmp ebp, ebx
jbe 0x5383c1
cmp ebp, eax
jne 0x5383c1
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x538388
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x5383c1
push 1
lea ecx, [esp + 0x18]
call fcn.004138c0
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x5383a5
mov eax, 0x6dd1f8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x5383fb
push 1
push ebp
lea ecx, [esp + 0x1c]
call fcn.00414230
test al, al
je 0x5383fb
mov esi, dword [esi + 4]
cmp esi, ebx
jne 0x5383dd
mov esi, 0x6dd1f8
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov edx, ecx
push ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.00414210
mov eax, dword [esp + 0x128]
mov byte [esp + 0x180], 5
cmp eax, ebx
je 0x53842b
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x538422
cmp al, 0xff
je 0x538422
dec al
mov byte [ecx], al
jmp 0x53842b
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], ebx
mov byte [esp + 0x13], 1
mov dword [esp + 0x30], ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x71c2ec
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x71c2e4
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x713774
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
mov al, byte [esp + 0x14]
sub esp, 0x10
mov ebp, esp
mov dword [esp + 0x38], esp
mov byte [ebp], al
mov dword [ebp + 4], ebx
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], ebx
mov eax, dword [esp + 0x2c]
mov esi, dword [0x6dd1fc]
mov edi, eax
cmp esi, edi
mov dword [esp + 0x34], edi
jae 0x5384dc
mov edi, esi
mov dword [esp + 0x34], edi
lea ecx, [esp + 0x24]
cmp ebp, ecx
jne 0x538541
cmp edi, ebx
jbe 0x5384ed
call fcn.006a6707
mov ecx, ebp
call fcn.00414b70
mov eax, dword [ebp + 8]
sub eax, edi
cmp eax, esi
jae 0x5384ff
mov esi, eax
cmp esi, ebx
jbe 0x538533
mov edx, dword [ebp + 4]
sub eax, esi
push eax
lea ecx, [edi + edx]
lea edx, [ecx + esi]
push edx
push ecx
call fcn.006a6c70
mov edi, dword [ebp + 8]
add esp, 0xc
sub edi, esi
mov ecx, ebp
push ebx
push edi
call fcn.00414230
test al, al
je 0x538533
push edi
mov ecx, ebp
call fcn.00414210
push ebx
push ebx
mov ecx, ebp
call fcn.004140f0
jmp 0x5385c7
cmp edi, ebx
jbe 0x53858d
cmp edi, eax
jne 0x53858d
mov eax, dword [esp + 0x28]
cmp eax, ebx
jne 0x538556
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x53858d
push 1
mov ecx, ebp
call fcn.004138c0
mov eax, dword [esp + 0x28]
cmp eax, ebx
jne 0x538572
mov eax, 0x6dd1f8
mov dword [ebp + 4], eax
mov ecx, dword [esp + 0x2c]
mov dword [ebp + 8], ecx
mov edx, dword [esp + 0x30]
mov dword [ebp + 0xc], edx
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x5385c7
push 1
push edi
mov ecx, ebp
call fcn.00414230
test al, al
je 0x5385c7
mov esi, dword [esp + 0x28]
cmp esi, ebx
jne 0x5385a8
mov esi, 0x6dd1f8
mov eax, dword [esp + 0x34]
mov edi, dword [ebp + 4]
mov ecx, eax
push eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebp
call fcn.00414210
push ecx
mov byte [esp + 0x194], 0xe
mov ecx, esp
mov dword [esp + 0x38], esp
push 6
push 0x71379c
call fcn.0061d820
mov ecx, dword [0x72baec]
mov byte [esp + 0x194], 5
call fcn.0062e450
mov ecx, dword [0x72baec]
call fcn.0062e830
movsx eax, ax
sub eax, ebx
je 0x538637
dec eax
je 0x53862a
dec eax
jne 0x537f5e
mov al, byte [esp + 0x13]
mov dword [esp + 0x30], 3
cmp al, bl
jne 0x538ba3
jmp 0x537f5e
mov dword [esp + 0x30], 2
jmp 0x537f5e
mov dword [esp + 0x30], 1
jmp 0x537f5e
mov byte [esp + 0x13], bl
push ecx
lea eax, [esp + 0x18c]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.0061d790
mov ecx, dword [0x72baec]
call fcn.0062e250
cmp di, bx
je 0x538aaa
cmp byte [0x72bd0c], bl
je 0x53868d
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 1
push 0x713848
call fcn.0061d820
jmp 0x5386d1
movsx eax, di
sub esp, 0x24
lea edx, [eax + eax*4]
mov ecx, esp
mov dword [esp + 0x4c], esp
push ebx
lea eax, [esp + edx*2 + 0x5a]
push 1
push eax
push ecx
lea ecx, [esp + 0x18c]
call fcn.00556960
lea ecx, [esp + 0x158]
call fcn.0061ac40
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push ecx
lea ecx, [esp + 0x13c]
call fcn.0061afb0
lea ecx, [esp + 0x30]
call fcn.0061dab0
lea ecx, [esp + 0x2c]
call fcn.0061dc40
test ax, ax
jle 0x538aa8
cmp di, 1
jne 0x53882c
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x713784
call fcn.0061d820
lea edx, [esp + 0x108]
push edx
call fcn.0061ca80
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov ecx, dword [0x6dd1fc]
mov ebp, eax
mov byte [esp + 0x180], 7
cmp ecx, ebp
jae 0x538734
mov ebp, ecx
lea edx, [esp + 0x14]
cmp edx, esi
jne 0x538757
push ecx
push ebp
lea ecx, [esp + 0x1c]
call fcn.004140f0
push ebx
push ebx
lea ecx, [esp + 0x1c]
call fcn.004140f0
jmp 0x5387de
cmp ebp, ebx
jbe 0x5387a4
cmp ebp, eax
jne 0x5387a4
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x53876b
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x5387a4
push 1
lea ecx, [esp + 0x18]
call fcn.004138c0
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x538788
mov eax, 0x6dd1f8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x5387de
push 1
push ebp
lea ecx, [esp + 0x1c]
call fcn.00414230
test al, al
je 0x5387de
mov esi, dword [esi + 4]
cmp esi, ebx
jne 0x5387c0
mov esi, 0x6dd1f8
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov eax, ecx
push ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.00414210
mov eax, dword [esp + 0x108]
mov byte [esp + 0x180], 5
cmp eax, ebx
je 0x53880e
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x538805
cmp al, 0xff
je 0x538805
dec al
mov byte [ecx], al
jmp 0x53880e
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], ebx
mov byte [esp + 0x13], bl
jmp 0x538aa8
cmp di, 2
jne 0x53896c
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x71377c
call fcn.0061d820
lea ecx, [esp + 0x118]
push ecx
call fcn.0061ca80
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov ecx, dword [0x6dd1fc]
mov ebp, eax
mov byte [esp + 0x180], 8
cmp ecx, ebp
jae 0x538874
mov ebp, ecx
lea edx, [esp + 0x14]
cmp edx, esi
jne 0x538897
push ecx
push ebp
lea ecx, [esp + 0x1c]
call fcn.004140f0
push ebx
push ebx
lea ecx, [esp + 0x1c]
call fcn.004140f0
jmp 0x53891e
cmp ebp, ebx
jbe 0x5388e4
cmp ebp, eax
jne 0x5388e4
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x5388ab
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x5388e4
push 1
lea ecx, [esp + 0x18]
call fcn.004138c0
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x5388c8
mov eax, 0x6dd1f8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x53891e
push 1
push ebp
lea ecx, [esp + 0x1c]
call fcn.00414230
test al, al
je 0x53891e
mov esi, dword [esi + 4]
cmp esi, ebx
jne 0x538900
mov esi, 0x6dd1f8
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov eax, ecx
push ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.00414210
mov eax, dword [esp + 0x118]
mov byte [esp + 0x180], 5
cmp eax, ebx
je 0x53894e
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x538945
cmp al, 0xff
je 0x538945
dec al
mov byte [ecx], al
jmp 0x53894e
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x120], ebx
mov byte [esp + 0x13], bl
jmp 0x538aa8
cmp di, 3
jne 0x538aa8
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x713764
call fcn.0061d820
lea ecx, [esp + 0xd8]
push ecx
call fcn.0061ca80
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov ecx, dword [0x6dd1fc]
mov ebp, eax
mov byte [esp + 0x180], 9
cmp ecx, ebp
jae 0x5389b4
mov ebp, ecx
lea edx, [esp + 0x14]
cmp edx, esi
jne 0x5389d7
push ecx
push ebp
lea ecx, [esp + 0x1c]
call fcn.004140f0
push ebx
push ebx
lea ecx, [esp + 0x1c]
call fcn.004140f0
jmp 0x538a5e
cmp ebp, ebx
jbe 0x538a24
cmp ebp, eax
jne 0x538a24
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x5389eb
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x538a24
push 1
lea ecx, [esp + 0x18]
call fcn.004138c0
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x538a08
mov eax, 0x6dd1f8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x538a5e
push 1
push ebp
lea ecx, [esp + 0x1c]
call fcn.00414230
test al, al
je 0x538a5e
mov esi, dword [esi + 4]
cmp esi, ebx
jne 0x538a40
mov esi, 0x6dd1f8
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov eax, ecx
push ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.00414210
mov eax, dword [esp + 0xd8]
mov byte [esp + 0x180], 5
cmp eax, ebx
je 0x538a8e
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x538a85
cmp al, 0xff
je 0x538a85
dec al
mov byte [ecx], al
jmp 0x538a8e
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov byte [esp + 0x13], 1
xor edi, edi
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x713784
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x71377c
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x713774
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
mov dl, byte [esp + 0x14]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x38], esp
mov byte [ecx], dl
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], ebx
mov eax, dword [0x6dd1fc]
lea edx, [esp + 0x24]
push eax
push ebx
push edx
call fcn.004136c0
push ecx
mov byte [esp + 0x194], 0xa
mov ecx, esp
mov dword [esp + 0x4c], esp
push 6
push 0x71379c
call fcn.0061d820
mov ecx, dword [0x72baec]
mov byte [esp + 0x194], 5
call fcn.0062e450
mov ecx, dword [0x72baec]
call fcn.0062e830
movsx eax, ax
sub eax, ebx
je 0x538b99
dec eax
je 0x538b8f
dec eax
jne 0x538648
mov al, byte [esp + 0x13]
mov edi, 3
cmp al, bl
jne 0x538ba3
jmp 0x538648
mov edi, 2
jmp 0x538648
mov edi, 1
jmp 0x538648
lea ecx, [esp + 0x34]
mov byte [esp + 0x180], 4
call fcn.0061d8c0
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x538bd9
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x538bd0
cmp al, 0xff
je 0x538bd0
dec al
mov byte [ecx], al
jmp 0x538bd9
push ecx
call fcn.006a64d0
add esp, 4
lea ecx, [esp + 0x158]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov byte [esp + 0x180], 2
call fcn.00555f30
lea ecx, [esp + 0x2c]
mov byte [esp + 0x180], 1
call fcn.0061d8c0
lea ecx, [esp + 0x134]
mov byte [esp + 0x180], bl
call fcn.0061ab90
lea ecx, [esp + 0x188]
mov dword [esp + 0x180], 0xffffffff
call fcn.0061d8c0
mov ax, 1
mov ecx, dword [esp + 0x178]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x174
ret 4