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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x150]
cmp eax, dword [ecx + 8]
jbe 0x61470a
sub esp, 0x1d0
mov eax, dword [esp + 0x1d4]
test byte [eax], al
mov ebx, dword [eax + 0x1044]
test ebx, ebx
je 0x61372a
mov ecx, dword [esp + 0x1d8]
cmp ecx, 6
jl 0x613647
shl ebx, 1
add ebx, 4
cmp ecx, ebx
jg 0x613647
test ecx, 1
je 0x613668
lea eax, [0x701020]
mov dword [esp + 0x1dc], eax
lea eax, [0x700430]
mov dword [esp + 0x1e0], eax
add esp, 0x1d0
ret
cmp ecx, 0x80
ja 0x6146ff
mov dword [esp], eax
lea edx, [eax + 0x32d0]
mov dword [esp + 0x1c8], edx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], pe_nt_image_headers32
call fcn.00611300
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x613715
mov ebx, dword [esp + 0x1d4]
movzx ebp, byte [ebx + 0x32d0]
mov esi, ebp
shl ebp, 1
mov eax, ebp
add ebp, 4
mov ecx, ebx
mov ebx, dword [esp + 0x1d8]
cmp ebx, ebp
jne 0x6136f4
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
xor edx, edx
xor ebx, ebx
jmp 0x613756
lea eax, [0x701020]
mov dword [esp + 0x1dc], eax
lea eax, [0x700438]
mov dword [esp + 0x1e0], eax
add esp, 0x1d0
ret
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x1e0], edx
add esp, 0x1d0
ret
lea eax, [0x701020]
mov dword [esp + 0x1dc], eax
lea eax, [0x700428]
mov dword [esp + 0x1e0], eax
add esp, 0x1d0
ret
mov ebp, dword [esp + 0x78]
inc ebp
mov esi, edi
mov ebx, edx
mov edx, ebp
cmp edx, esi
jge 0x6138b2
mov ebp, edx
shl edx, 1
mov edi, esi
lea esi, [edx + 1]
cmp esi, 0x80
jae 0x6146f3
mov dword [esp + 0x34], ebx
lea esi, [ecx + ebp*2 + 0x32d1]
movzx esi, byte [esi]
mov ebx, dword [ecx + 0x1044]
cmp ebx, 4
ja 0x6146e7
mov dword [esp + 0x78], ebp
test ebx, ebx
je 0x6137c9
xchg esi, eax
mov byte [esp + 0x23], al
xchg esi, eax
lea ebp, [ecx + 0x1050]
mov dword [esp + 0x98], eax
xor eax, eax
mov dword [esp + 0x64], eax
mov eax, 0xffffffff
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x98]
jmp 0x6146ae
mov ebx, 0xffffffff
test ebx, ebx
jl 0x6145b4
cmp ebp, 4
jae 0x614696
lea esi, [ebp + ebp*2]
mov dword [esp + 0x88], esi
mov byte [esp + esi + 0xa8], bl
mov dword [esp + 0xa0], eax
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xa0]
jmp 0x6145eb
cmp ebx, 4
jae 0x61467e
lea ebx, [ebx + ebx*2]
mov esi, dword [ecx + ebx*4 + 0x1054]
imul esi, dword [ecx + ebx*4 + 0x1050]
mov ebx, dword [esp + 0x34]
add ebx, esi
lea esi, [edx + 2]
cmp esi, 0x80
jae 0x614672
lea esi, [ecx + ebp*2 + 0x32d2]
mov edx, ebx
movzx ebx, byte [esi]
shr bl, 4
mov ebp, dword [esp + 0x88]
mov byte [esp + ebp + 0xa9], bl
cmp bl, 3
ja 0x614651
movzx ebp, byte [ecx + 0x1048]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x613876
cmp bl, 1
ja 0x614651
movzx ebx, byte [esi]
and ebx, 0xf
mov ebp, dword [esp + 0x88]
mov byte [esp + ebp + 0xaa], bl
cmp bl, 3
ja 0x614630
movzx ebp, byte [ecx + 0x1048]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x61374b
cmp bl, 1
jbe 0x61374b
jmp 0x614630
cmp dword [ecx + 0x1044], 1
jle 0x6138e1
cmp ebx, 0xa
jle 0x6138e1
lea eax, [0x701020]
mov dword [esp + 0x1dc], eax
lea eax, [0x700460]
mov dword [esp + 0x1e0], eax
add esp, 0x1d0
ret
movzx edx, byte [ecx + 0x1049]
test dl, dl
je 0x6139d8
lea edx, [eax + 1]
cmp edx, 0x80
jae 0x6145a8
lea edx, [ecx + esi*2 + 0x32d1]
movzx edx, byte [edx]
lea ebx, [eax + 2]
cmp ebx, 0x80
jae 0x61459c
lea ebx, [ecx + esi*2 + 0x32d2]
movzx ebx, byte [ebx]
add eax, 3
cmp eax, 0x80
jae 0x614592
lea ebp, [ecx + esi*2 + 0x32d3]
movzx ebp, byte [ebp]
test edx, edx
jne 0x613943
test ebx, ebx
jne 0x6139b7
cmp ebx, edx
jl 0x6139b7
cmp ebx, 0x40
jge 0x6139b7
test edx, edx
je 0x613976
cmp esi, 1
je 0x613976
lea eax, [0x701020]
mov dword [esp + 0x1dc], eax
lea eax, [0x700470]
mov dword [esp + 0x1e0], eax
add esp, 0x1d0
ret
mov eax, ebp
xchg ebp, eax
shr al, 4
xchg ebp, eax
xchg ebp, eax
movzx eax, al
xchg ebp, eax
and eax, 0xf
test ebp, ebp
je 0x6139b3
mov edi, esi
lea esi, [eax + 1]
cmp ebp, esi
je 0x6139e5
lea eax, [0x701020]
mov dword [esp + 0x1dc], eax
lea eax, [0x700478]
mov dword [esp + 0x1e0], eax
add esp, 0x1d0
ret
mov edi, esi
jmp 0x6139e5
lea eax, [0x701020]
mov dword [esp + 0x1dc], eax
lea eax, [0x700468]
mov dword [esp + 0x1e0], eax
add esp, 0x1d0
ret
mov edi, esi
xor ebp, ebp
xor edx, edx
mov ebx, 0x3f
xor eax, eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], edx
mov dword [esp + 0x74], ebp
mov esi, dword [ecx + 0x1050]
mov dword [esp + 0x60], esi
mov ebx, dword [ecx + 0x1054]
mov edx, dword [ecx + 0x1020]
shl esi, 3
mov ebp, dword [esp + 0x60]
lea edx, [edx + ebp*8 - 1]
test esi, esi
je 0x61458d
mov ebp, eax
mov eax, edx
cmp esi, 0xffffffff
je 0x613a28
cdq
idiv esi
jmp 0x613a2a
neg eax
mov edx, dword [ecx + 0x1024]
mov esi, ebx
shl ebx, 3
lea edx, [edx + esi*8 - 1]
test ebx, ebx
je 0x614588
mov dword [esp + 0x40], eax
mov dword [esp + 0x78], edi
mov dword [esp + 0x8c], ebp
mov esi, eax
mov eax, edx
cmp ebx, 0xffffffff
je 0x613a5e
cdq
idiv ebx
jmp 0x613a60
neg eax
mov dword [esp + 0x38], eax
mov edx, dword [ecx + 0x1028]
test edx, edx
jne 0x613aa2
mov edx, dword [ecx + 0x102c]
test edx, edx
jne 0x613aa2
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.00613290
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x1d4]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x78]
movzx edx, byte [ecx + 0x1049]
test dl, dl
je 0x613ab4
xor edx, edx
jmp 0x614490
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov edx, edi
lea edi, [esp + 0xc4]
mov ebx, eax
xor eax, eax
call fcn.0045f200
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov ecx, dword [esp + 0x1d4]
xor edi, edi
xor eax, eax
mov dword [esp + 0x70], eax
xor eax, eax
mov dword [esp + 0x48], eax
mov eax, 0xffffffd0
mov byte [esp + 0x22], al
xor eax, eax
jmp 0x613b36
inc edi
movzx ebp, byte [esp + 0x22]
mov ebp, dword [esp + 0x8c]
cmp edi, ebx
jge 0x613b48
mov dword [esp + 0x3c], edi
xor eax, eax
mov dword [esp + 0x44], eax
xor eax, eax
jmp 0x613b83
mov dword [esp + 0x1dc], 0
mov dword [esp + 0x1e0], 0
add esp, 0x1d0
ret
mov edx, dword [esp + 0x44]
inc edx
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ebp
mov byte [esp + 0x22], al
xor eax, eax
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x8c]
mov ebp, dword [esp + 0x44]
cmp ebp, esi
jge 0x613b29
xor eax, eax
mov dword [esp + 0x54], eax
xor eax, eax
jmp 0x613d10
mov ebp, dword [esp + 0x48]
inc ebp
mov edx, dword [ecx + 0x1040]
test edx, edx
jle 0x613cf1
mov eax, ebp
mov ebx, edx
cdq
idiv ebx
test edx, edx
jne 0x613ced
mov edx, dword [esp + 0x38]
mov ebx, edx
imul edx, esi
cmp edx, ebp
jle 0x613cf1
mov dword [esp + 0x7c], ebp
mov dword [esp], ecx
mov eax, dword [esp + 0x1c8]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], pe_nt_image_headers32
call fcn.00611300
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x613da8
mov edx, dword [esp + 0x1d4]
cmp byte [edx + 0x32d0], 0xff
jne 0x613c5f
movzx ebx, byte [edx + 0x32d1]
test bl, bl
jne 0x613c5f
mov dword [esp], edx
mov eax, dword [esp + 0x1c8]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], pe_nt_image_headers32
call fcn.00611300
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x613d72
mov edx, dword [esp + 0x1d4]
cmp byte [edx + 0x32d0], 0xff
jne 0x613d87
movzx ebx, byte [esp + 0x22]
cmp byte [edx + 0x32d1], bl
jne 0x613d87
lea ebp, [ebx + 1]
cmp bl, 0xd7
jne 0x613c8a
mov ebp, 0xffffffd0
mov dword [edx + 8], 0
mov dword [edx + 0xc], 0
mov dword [edx + 0x10], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov word [edx + 0x104e], 0
mov ecx, edx
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
mov eax, ebp
mov ebp, dword [esp + 0x7c]
jmp 0x613b65
mov ebx, dword [esp + 0x38]
movzx eax, byte [esp + 0x22]
jmp 0x613b65
mov ebx, dword [esp + 0x54]
inc ebx
mov ebp, dword [esp + 0x70]
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x54]
cmp ebp, edx
jge 0x613b98
cmp ebp, 4
jae 0x61447c
lea ebx, [ebp + ebp*2]
mov dword [esp + 0x88], ebx
movzx ebx, byte [esp + ebx + 0xa8]
cmp ebx, 4
jae 0x614470
mov dword [esp + 0x84], ebx
lea ebx, [ebx + ebx*2]
mov dword [esp + 0x80], ebx
mov ebp, dword [ecx + ebx*4 + 0x1050]
mov dword [esp + 0x5c], ebp
mov ebx, dword [ecx + ebx*4 + 0x1054]
mov dword [esp + 0x30], ebx
xor eax, eax
mov dword [esp + 0x4c], eax
xor eax, eax
jmp 0x613dda
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x1e0], edx
add esp, 0x1d0
ret
lea eax, [0x701020]
mov dword [esp + 0x1dc], eax
lea eax, [0x700488]
mov dword [esp + 0x1e0], eax
add esp, 0x1d0
ret
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x1e0], edx
add esp, 0x1d0
ret
lea eax, [ebp + 1]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x5c]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x70], edx
xor eax, eax
mov edx, dword [esp + 0x78]
imul ebx, ebp
mov ebp, dword [esp + 0x4c]
cmp ebp, ebx
jge 0x613cfb
cmp edx, 1
jne 0x613e4c
mov ebx, dword [esp + 0x5c]
imul ebx, esi
test ebx, ebx
je 0x61446b
mov eax, dword [esp + 0x70]
cmp ebx, 0xffffffff
je 0x613e0b
cdq
idiv ebx
jmp 0x613e0d
xor edx, edx
mov dword [esp + 0x6c], edx
mov eax, dword [esp + 0x70]
cmp ebx, 0xffffffff
je 0x613e1f
cdq
idiv ebx
jmp 0x613e21
neg eax
mov edx, dword [esp + 0x70]
inc edx
mov ebx, dword [esp + 0x6c]
shl ebx, 3
cmp dword [ecx + 0x1020], ebx
jle 0x613dbd
mov ebx, eax
shl eax, 3
cmp dword [ecx + 0x1024], eax
jle 0x613dbd
mov eax, dword [esp + 0x6c]
jmp 0x613e9e
mov ebx, dword [esp + 0x5c]
mov edx, dword [esp + 0x44]
imul ebx, edx
mov edx, dword [esp + 0x5c]
test edx, edx
je 0x614466
mov eax, ebp
mov esi, edx
cmp esi, 0xffffffff
je 0x613e71
cdq
idiv esi
jmp 0x613e73
xor edx, edx
add edx, ebx
mov dword [esp + 0x6c], edx
mov ebx, dword [esp + 0x30]
imul ebx, edi
mov eax, ebp
cmp esi, 0xffffffff
je 0x613e8c
cdq
idiv esi
jmp 0x613e8e
neg eax
add eax, ebx
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x70]
mov ebx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ebx
mov dword [esp + 0x70], edx
movzx ebp, byte [ecx + 0x1049]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x613f15
mov ebp, dword [esp + 0x80]
mov edi, dword [ecx + ebp*4 + 0x1084]
mov edx, dword [ecx + ebp*4 + 0x1080]
imul ebx, esi
mov esi, dword [esp + 0x5c]
imul ebx, esi
add ebx, eax
cmp edi, ebx
jbe 0x61445d
lea eax, [esp + 0xc4]
mov dword [esp], eax
shl ebx, 8
lea ecx, [edx + ebx]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x100
call fcn.0045f930
xor eax, eax
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
jmp 0x613f25
mov ebp, edi
lea edi, [esp + 0xc4]
xor eax, eax
call fcn.0045f200
mov edi, dword [esp + 0x74]
test edi, edi
jne 0x614079
mov ecx, edi
mov edi, dword [esp + 0x24]
test edi, edi
jne 0x61400f
mov ebp, dword [esp + 0x88]
movzx edx, byte [esp + ebp + 0xa9]
cmp edx, 4
jae 0x614451
mov eax, dword [esp + 0x1d4]
mov dword [esp], eax
imul ecx, edx, 0x3c4
lea ecx, [eax + ecx + 0x10b0]
mov dword [esp + 4], ecx
call fcn.006104d0
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
test ecx, ecx
jne 0x61420e
cmp al, 0x10
ja 0x6141ed
mov ecx, dword [esp + 0x1d4]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.0060ff00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
test ecx, ecx
jne 0x6141d8
mov ebx, dword [esp + 0x84]
add eax, dword [esp + ebx*4 + 0xb4]
mov dword [esp + ebx*4 + 0xb4], eax
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x20
sbb ebp, ebp
shl eax, cl
and eax, ebp
mov dword [esp + 0xc4], eax
mov ebp, dword [esp + 0x24]
lea edx, [ebp + 1]
xor eax, eax
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
mov edi, edx
mov edx, dword [esp + 0x70]
mov ebp, dword [esp + 0x28]
cmp ebp, edi
jl 0x614041
mov edx, dword [esp + 0x1d4]
movzx ebx, word [edx + 0x104e]
test bx, bx
jbe 0x614039
dec ebx
mov word [edx + 0x104e], bx
mov ebx, edx
jmp 0x6140f9
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x68]
mov edx, dword [esp + 0x88]
movzx edx, byte [esp + edx + 0xaa]
cmp edx, 4
jae 0x614445
imul edx, edx, 0x3c4
mov ebx, dword [esp + 0x1d4]
lea edx, [edx + ebx + 0x1fc0]
mov dword [esp + 0x1c4], edx
jmp 0x61427f
mov edi, dword [esp + 0x88]
movzx edi, byte [esp + edi + 0xaa]
cmp edi, 4
jae 0x614254
mov eax, dword [esp + 0x1d4]
mov dword [esp], eax
lea edx, [esp + 0xc4]
mov dword [esp + 4], edx
imul ebx, edi, 0x3c4
lea ebx, [ebx + eax + 0x1fc0]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x10], ebp
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x20
sbb esi, esi
mov edi, 1
shl edi, cl
and edi, esi
mov dword [esp + 0x14], edi
call fcn.00614720
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
test eax, eax
jne 0x614223
mov edx, dword [esp + 0x1d4]
movzx ebx, byte [edx + 0x1049]
test bl, bl
je 0x61417e
mov ebx, dword [esp + 0x80]
mov ecx, dword [edx + ebx*4 + 0x1084]
mov ebp, dword [edx + ebx*4 + 0x1080]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x40]
imul esi, edi
mov ebx, dword [esp + 0x5c]
imul esi, ebx
mov edx, dword [esp + 0x6c]
add edx, esi
cmp ecx, edx
jbe 0x61424d
shl edx, 8
lea eax, [ebp + edx]
mov dword [esp], eax
lea eax, [esp + 0xc4]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x100
call fcn.0045f930
mov ecx, dword [esp + 0x1d4]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x70]
jmp 0x613dbd
mov dword [esp], edx
lea eax, [esp + 0xc4]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x10], ecx
call fcn.00614db0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test eax, eax
jne 0x614238
mov ecx, dword [esp + 0x1d4]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x70]
jmp 0x613dbd
mov dword [esp + 0x1dc], edx
mov dword [esp + 0x1e0], ebx
add esp, 0x1d0
ret
lea eax, [0x701034]
mov dword [esp + 0x1dc], eax
lea eax, [0x700480]
mov dword [esp + 0x1e0], eax
add esp, 0x1d0
ret
mov dword [esp + 0x1dc], edx
mov dword [esp + 0x1e0], ebx
add esp, 0x1d0
ret
mov dword [esp + 0x1dc], edx
mov dword [esp + 0x1e0], ebx
add esp, 0x1d0
ret
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x1e0], edx
add esp, 0x1d0
ret
mov eax, edx
call fcn.0045f030
mov eax, edi
mov ecx, 4
call fcn.0045f030
lea edi, [edx + 1]
xor eax, eax
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x1c4]
mov ebx, dword [esp + 0x1d4]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x40]
cmp edi, ebp
jg 0x6140f9
mov dword [esp + 0x2c], edi
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.006104d0
movzx ecx, byte [esp + 8]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
test eax, eax
jne 0x614418
mov edx, ecx
shr cl, 4
and edx, 0xf
test dl, dl
jne 0x6142db
cmp cl, 0xf
jne 0x61435a
mov edx, dword [esp + 0x2c]
add edx, 0xf
mov ecx, dword [esp + 0x8c]
lea ebx, [0x869fc0]
jmp 0x614260
movzx ebx, cl
mov ebp, dword [esp + 0x2c]
add ebx, ebp
mov ebp, dword [esp + 0x28]
cmp ebp, ebx
jl 0x614402
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x1d4]
mov dword [esp], eax
mov byte [esp + 4], dl
call fcn.0060ff00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
test ecx, ecx
jne 0x6143ed
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x20
sbb edx, edx
shl eax, cl
and eax, edx
mov edx, dword [esp + 0x2c]
cmp edx, 0x40
jae 0x614439
lea ebx, [0x869fc0]
mov ebp, dword [ebx + edx*4]
cmp ebp, 0x40
jae 0x61442d
mov dword [esp + ebp*4 + 0xc4], eax
jmp 0x614260
cmp cl, 0x20
sbb edx, edx
mov ebx, 1
shl ebx, cl
and ebx, edx
mov edx, dword [esp + 0x1d4]
mov word [edx + 0x104e], bx
test cl, cl
je 0x6143b4
mov dword [esp], edx
movzx eax, cl
mov dword [esp + 4], eax
call fcn.00610880
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
test ecx, ecx
jne 0x6143d8
mov edx, dword [esp + 0x1d4]
movzx ebx, word [edx + 0x104e]
or ebx, eax
mov word [edx + 0x104e], bx
movzx ebx, word [edx + 0x104e]
dec ebx
mov word [edx + 0x104e], bx
xor eax, eax
mov ecx, dword [esp + 0x74]
mov ebx, edx
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x40]
jmp 0x6140f9
mov dword [esp + 0x1dc], edx
mov dword [esp + 0x1e0], ebx
add esp, 0x1d0
ret
mov dword [esp + 0x1dc], edx
mov dword [esp + 0x1e0], ebx
add esp, 0x1d0
ret
xor eax, eax
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x1d4]
mov esi, dword [esp + 0x40]
jmp 0x6140f9
mov dword [esp + 0x1dc], edx
mov dword [esp + 0x1e0], ebx
add esp, 0x1d0
ret
mov eax, ebp
mov ecx, 0x40
call fcn.0045f030
mov eax, edx
mov ecx, 0x40
call fcn.0045f030
mov eax, edx
mov ecx, 4
call fcn.0045f030
mov eax, edx
mov ecx, 4
call fcn.0045f030
mov eax, ebx
mov ecx, edi
call fcn.0045f030
call fcn.00432e40
call fcn.00432e40
mov eax, ebx
mov ecx, 4
call fcn.0045f030
mov eax, ebp
mov ecx, 4
call fcn.0045f030
inc edx
mov ebp, dword [esp + 0x8c]
cmp edx, edi
jge 0x613ab4
cmp edx, 4
jae 0x61457c
lea ebx, [edx + edx*2]
movzx ebx, byte [esp + ebx + 0xa8]
cmp ebx, 4
jae 0x614570
lea ebx, [ebx + ebx*2]
mov dword [esp + 0x88], ebx
mov ebp, dword [ecx + ebx*4 + 0x1080]
lea ebx, [ecx + ebx*4 + 0x1080]
test ebp, ebp
jne 0x614488
mov dword [esp + 0x58], edx
mov dword [esp + 0x1cc], ebx
imul eax, esi
mov ebx, dword [esp + 0x88]
imul eax, dword [ecx + ebx*4 + 0x1050]
imul eax, dword [ecx + ebx*4 + 0x1054]
mov dword [esp + 0x84], eax
lea ebp, [0x65df80]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.004480c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x1d4]
mov dword [ebx + ecx*4 + 0x1084], edx
mov dword [ebx + ecx*4 + 0x1088], edx
mov edx, dword [0x8d5630]
test edx, edx
jne 0x61454d
mov dword [ebx + ecx*4 + 0x1080], eax
jmp 0x614559
mov edi, dword [esp + 0x1cc]
call fcn.0045efb0
mov eax, dword [esp + 0x38]
mov ecx, ebx
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x78]
jmp 0x614488
mov eax, ebx
mov ecx, 4
call fcn.0045f030
mov eax, edx
mov ecx, 4
call fcn.0045f030
call fcn.00432e40
call fcn.00432e40
mov ecx, pe_nt_image_headers32
call fcn.0045f030
mov eax, ebx
mov ecx, pe_nt_image_headers32
call fcn.0045f030
mov eax, edx
mov ecx, pe_nt_image_headers32
call fcn.0045f030
lea eax, [0x701020]
mov dword [esp + 0x1dc], eax
lea eax, [0x700440]
mov dword [esp + 0x1e0], eax
add esp, 0x1d0
ret
lea ebp, [esi + 1]
mov esi, dword [esp + 0x78]
mov esi, dword [esp + 0x88]
mov dword [esp + 0x50], ebp
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x50]
cmp esi, ebp
jge 0x61380a
cmp esi, 4
jae 0x61468a
lea ebp, [esi + esi*2]
lea ebp, [esp + ebp + 0xa8]
cmp byte [ebp], bl
jne 0x6145d5
lea eax, [0x701020]
mov dword [esp + 0x1dc], eax
lea eax, [0x700448]
mov dword [esp + 0x1e0], eax
add esp, 0x1d0
ret
lea eax, [0x701020]
mov dword [esp + 0x1dc], eax
lea eax, [0x700458]
mov dword [esp + 0x1e0], eax
add esp, 0x1d0
ret
lea eax, [0x701020]
mov dword [esp + 0x1dc], eax
lea eax, [0x700450]
mov dword [esp + 0x1e0], eax
add esp, 0x1d0
ret
mov eax, esi
mov ecx, pe_nt_image_headers32
call fcn.0045f030
mov eax, ebx
mov ecx, 4
call fcn.0045f030
mov eax, esi
mov ecx, 4
call fcn.0045f030
mov eax, ebp
mov ecx, 4
call fcn.0045f030
add ebp, 0xc
mov dword [esp + 0x64], esi
movzx esi, byte [esp + 0x23]
xchg esi, eax
cmp byte [ebp + 8], al
xchg esi, eax
jne 0x6146ce
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x64]
inc esi
cmp ebx, esi
jg 0x6146a2
mov ebp, dword [esp + 0x78]
mov ebx, dword [esp + 0x88]
jmp 0x6137ce
mov ecx, ebx
mov edx, 4
call fcn.0045f050
mov eax, esi
mov ecx, pe_nt_image_headers32
call fcn.0045f030
mov edx, pe_nt_image_headers32
call fcn.0045f050
nop
call fcn.0045dba0
jmp fcn.006135f0