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

Disassembly:
mov ecx, dword [0x85d3cc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x120]
cmp eax, dword [ecx + 8]
jbe 0x612853
sub esp, 0x1a0
mov eax, dword [esp + 0x1a4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x2c]
movzx edx, byte [edx + 0x61]
test dl, dl
jne 0x611ca8
mov edx, dword [eax + 0xc]
mov ebx, dword [edx + 0xd8]
mov ebp, dword [edx + 0xdc]
xor esi, esi
jmp 0x611cc6
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0
add esp, 0x1a0
ret
inc esi
cmp esi, ebp
jge 0x611d69
lea edi, [ebx + esi]
cmp byte [edi], 1
jne 0x611cc5
mov ebx, dword [edx + 0xe8]
cmp dword [edx + 0xf4], ebx
jne 0x611d20
test ebx, ebx
je 0x611d03
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x94], ebx
mov edx, dword [edx + 0xe4]
xor ebp, ebp
jmp 0x611dac
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0
add esp, 0x1a0
ret
mov dword [esp], ecx
mov byte [esp + 4], 0x2f
call fcn.005e74d0
lea eax, [0x66a620]
mov dword [esp], eax
call fcn.0040c260
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x23
lea ecx, [0x69c0c4]
mov dword [eax], ecx
lea ecx, [0x6f1b20]
mov dword [esp + 0x1a8], ecx
mov dword [esp + 0x1ac], eax
add esp, 0x1a0
ret
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0
add esp, 0x1a0
ret
mov esi, dword [esp + 0xc4]
lea edx, [esi + 0x10]
mov esi, dword [esp + 0x7c]
lea ebp, [esi + 1]
mov ebx, dword [esp + 0x94]
mov ecx, dword [esp + 0xa8]
mov eax, dword [esp + 0x1a4]
cmp ebp, ebx
jge 0x611ff6
cmp ebp, 5
jge 0x611ff6
mov dword [esp + 0x7c], ebp
mov dword [esp + 0xc4], edx
mov esi, dword [ecx + 0x2c]
mov edi, dword [esi + 0x8c]
mov eax, dword [edx]
mov ebx, dword [edx + 4]
mov ebp, dword [edx + 8]
test edi, edi
jne 0x611e48
mov edx, dword [ecx + 0x90]
mov edi, dword [ecx + 0x94]
mov ecx, dword [ecx + 0x98]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ecx
call fcn.0061ed30
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x611d86
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0061d770
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x611d86
mov ecx, dword [esp + 0xc]
jmp 0x611edf
mov dword [esp + 0x90], ebp
mov dword [esp + 0x8c], ebx
mov dword [esp + 0xc0], eax
mov dword [esp], ecx
call fcn.005eb670
lea edi, [esp + 0x144]
lea esi, [esp + 4]
call fcn.004686aa
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 0x2c]
mov edx, dword [ecx + 0x8c]
mov ecx, dword [edx]
mov dword [esp + 0x88], ecx
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0x8c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x90]
mov dword [esp + 8], ebx
lea edi, [esp + 0xc]
lea esi, [esp + 0x144]
call fcn.004686aa
mov ecx, dword [esp + 0x88]
call ecx
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0x611fd9
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x611d86
cmp word [ecx + 0xe], 0x304
jne 0x611d86
mov dword [esp + 0xa0], ecx
mov ebx, dword [ecx + 0x14]
mov ebp, dword [ecx + 0x18]
lea edi, [esp + 0xc8]
xor eax, eax
call fcn.0046827b
mov dword [esp + 0xcc], 0
add ebx, 0x7791f700
mov dword [esp + 0xd0], ebx
adc ebp, 0xe
mov dword [esp + 0xd4], ebp
mov ecx, dword [0x832478]
mov dword [esp + 0xd8], ecx
lea edi, [esp + 0xf0]
lea esi, [esp + 0xc8]
call fcn.0046875e
mov ecx, dword [esp + 0xa8]
mov ebx, dword [ecx + 0x2c]
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x611f5f
lea ebx, [0x6a67a8]
mov eax, dword [ebx]
mov edx, ebx
call eax
lea edi, [esp + 0x118]
lea esi, [esp]
call fcn.0046875e
lea edi, [esp]
lea esi, [esp + 0x118]
call fcn.0046875e
lea edi, [esp + 0x14]
lea esi, [esp + 0xf0]
call fcn.0046875e
call fcn.004acc20
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x28], 0xf9290000
seta cl
cmp eax, 0x2260f
sete al
setg bl
and eax, ecx
or ebx, eax
test bl, bl
jne 0x611d86
mov eax, dword [esp + 0xa0]
movzx ecx, word [eax + 0x12]
mov ebx, dword [0x832ea0]
mov ebp, dword [0x832ea4]
xor edx, edx
jmp 0x612014
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], ecx
add esp, 0x1a0
ret
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0
add esp, 0x1a0
ret
inc edx
cmp edx, ebp
jge 0x612022
mov esi, dword [ebx + edx*4]
cmp word [esi], cx
jne 0x612013
jmp 0x612024
xor esi, esi
test esi, esi
je 0x6123cd
mov ecx, dword [esi + 0xc]
mov ebx, dword [esp + 0x1a4]
mov ebp, dword [ebx + 0x18]
cmp dword [ebp + 0xc], ecx
jne 0x611d86
mov ecx, dword [eax + 0x30]
mov ebp, dword [esp + 0xa8]
mov esi, dword [ebp + 0x2c]
mov edi, dword [esi + 0x48]
test ecx, ecx
cmp edi, 2
jne 0x61205d
test ecx, ecx
jmp 0x612064
cmp edi, 4
jne 0x61206b
test ecx, ecx
jne 0x612073
jmp 0x611d86
test ecx, ecx
je 0x612136
test edi, edi
je 0x611d86
test ecx, ecx
jne 0x612086
xor edx, edx
jmp 0x612138
mov dword [esp + 0x90], ecx
mov esi, dword [esi + 8]
test esi, esi
jne 0x61209a
lea esi, [0x6a67a8]
mov eax, dword [esi]
mov edx, esi
call eax
lea edi, [esp + 0x118]
lea esi, [esp]
call fcn.0046875e
lea edi, [esp + 0xdc]
lea esi, [esp + 0x118]
call fcn.0046875e
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 0x30]
test ecx, ecx
jbe 0x612849
mov ecx, dword [eax + 0x2c]
mov ecx, dword [ecx]
test byte [ecx], al
lea esi, [ecx + 0x16c]
lea edi, [esp + 0x104]
call fcn.0046875e
lea edi, [esp]
lea esi, [esp + 0xdc]
call fcn.0046875e
lea edi, [esp + 0x14]
lea esi, [esp + 0x104]
call fcn.0046875e
call fcn.004ab8d0
movzx eax, byte [esp + 0x28]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp + 0x1a4]
mov ebp, dword [esp + 0xa8]
mov edx, eax
mov eax, dword [esp + 0xa0]
jmp 0x612138
xor edx, edx
test dl, dl
jne 0x611d86
test ecx, ecx
je 0x612158
mov ecx, dword [ebp + 0x2c]
cmp dword [ecx + 0x48], 3
jl 0x612158
mov ecx, dword [eax + 0x60]
test ecx, ecx
je 0x611d86
mov ecx, dword [ebx + 0x18]
mov edx, dword [eax + 0x1c]
mov ebp, dword [eax + 0x20]
mov esi, dword [eax + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.00618d10
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x1a4]
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], ecx
mov ebp, dword [0x85d680]
test ebp, ebp
je 0x6121c0
call fcn.00468040
mov dword [edi], edx
mov ebp, dword [ebx + 0x24]
mov dword [edi + 4], ebp
mov dword [ebx + 0x24], edx
mov ebp, dword [ebx + 0x18]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
lea eax, [0x691fc9]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0xa
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
call fcn.00618bf0
mov eax, dword [esp + 0x1a4]
mov ecx, dword [eax + 0x60]
mov edx, dword [eax + 0x64]
mov ebx, dword [eax + 0x18]
mov ebx, dword [ebx + 0xc]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0xac], ebp
mov esi, dword [esp + 0x24]
mov dword [esp + 0x80], esi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x84], edi
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00612860
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test eax, eax
je 0x61237d
mov dword [esp + 0x78], eax
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x9c], edx
mov eax, dword [esp + 0x1a4]
mov ecx, dword [eax + 0xc]
mov dword [esp], ecx
call fcn.005fcdb0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x612330
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 0x20]
mov ecx, dword [esp + 0x9c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x1a4]
mov ecx, dword [eax + 0x18]
mov dword [esp], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x14], ecx
call fcn.00619020
mov eax, dword [esp + 0x1a4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xf4]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
jae 0x612840
mov edx, dword [ecx + 0xf0]
lea ebp, [ebx + ebx*2]
mov esi, dword [edx + ebp*4 + 4]
mov edi, dword [esp + 0x1c]
mov edx, dword [edx + ebp*4]
cmp edi, esi
jne 0x612329
mov ebp, dword [esp + 0x18]
xor edi, edi
xor edi, edi
xchg edi, eax
mov byte [esp + 0x75], al
xchg edi, eax
xor edi, edi
jmp 0x612827
xor edx, edx
jmp 0x6123d9
mov eax, dword [esp + 0x10]
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xa4], ecx
mov edx, dword [esp + 0xa8]
mov dword [esp], edx
mov byte [esp + 4], 0x50
call fcn.005e74d0
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x1ac], eax
add esp, 0x1a0
ret
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.005e74d0
lea eax, [0x66a620]
mov dword [esp], eax
call fcn.0040c260
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x29
lea ecx, [0x69ea3a]
mov dword [eax], ecx
lea ecx, [0x6f1b20]
mov dword [esp + 0x1a8], ecx
mov dword [esp + 0x1ac], eax
add esp, 0x1a0
ret
mov ebx, dword [esp + 0x1a4]
jmp 0x611d86
cmp edx, 1
jne 0x6127b6
mov edx, dword [esp + 0xa8]
mov ebp, dword [edx + 0x10]
test ebp, ebp
je 0x612488
movzx ecx, byte [ecx + 0xd4]
test cl, cl
je 0x61247d
test ebx, ebx
jne 0x612472
mov ecx, dword [esp + 0xa0]
movzx ebp, byte [ecx + 0xc]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x61246e
movzx ebp, word [ecx + 0x12]
mov esi, dword [eax + 0x18]
cmp word [esi], bp
jne 0x61246a
mov ebp, dword [ecx + 0x6c]
cmp dword [edx + 0xc8], ebp
je 0x61242f
xor ebp, ebp
jmp 0x612491
mov eax, dword [ecx + 0x68]
mov ebx, dword [edx + 0xc4]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.004034b0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x7c]
mov ebp, eax
mov eax, dword [esp + 0x1a4]
jmp 0x612491
xor ebp, ebp
jmp 0x612491
xor ebp, ebp
jmp 0x612491
mov ecx, dword [esp + 0xa0]
xor ebp, ebp
jmp 0x612491
mov ecx, dword [esp + 0xa0]
xor ebp, ebp
jmp 0x612491
mov ecx, dword [esp + 0xa0]
xor ebp, ebp
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x6126b6
mov byte [eax + 0x16], 1
mov ecx, dword [eax + 0x18]
mov ecx, dword [ecx + 0xc]
mov dword [esp], ecx
call fcn.005163d0
mov eax, dword [esp + 0x1a4]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xb8], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x98], edx
mov ebx, dword [esp + 4]
mov dword [esp + 0xbc], ebx
lea ebp, [0x668da0]
mov dword [esp], ebp
call fcn.00409bb0
lea eax, [0x6f23c4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0xc], eax
call fcn.0060b0f0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x612799
mov eax, dword [esp + 0x1a4]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x24]
mov ebx, dword [eax + 0x28]
mov ebp, dword [eax + 0x2c]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
lea ecx, [0x6923cd]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0xb
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x1c], ecx
call fcn.00618bf0
mov eax, dword [esp + 0x1a4]
mov ecx, dword [eax + 0x18]
movzx ecx, word [ecx]
mov word [esp + 0x76], cx
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
lea edi, [esp + 0x12c]
mov esi, eax
xor eax, eax
call fcn.0046827a
mov dword [esp + 0x12c], 1
mov dword [esp + 0x130], 1
movzx eax, word [esp + 0x76]
mov word [esp + 0x140], ax
mov dword [esp + 0x134], edx
mov dword [esp + 0x138], ebx
mov dword [esp + 0x13c], ebp
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
inc ebx
mov ebp, dword [ecx]
cmp edx, ebx
jae 0x612649
mov dword [esp + 0xb4], ecx
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x678d60]
mov dword [esp + 0x10], eax
call fcn.0044d800
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xb4]
mov dword [ebx + 8], eax
mov eax, dword [0x85d680]
test eax, eax
je 0x612633
call fcn.00468040
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, dword [esp + 0xa8]
mov esi, dword [esp + 0x1a4]
mov ebp, ecx
mov ecx, ebx
mov ebx, edx
mov dword [ecx + 4], ebx
mov ecx, dword [0x85d680]
lea edx, [ebx + ebx*2]
lea edi, [ebp + edx*8 - 0x18]
test ecx, ecx
je 0x612696
mov dword [esp + 0xb0], edi
lea eax, [0x678d60]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x12c]
mov dword [esp + 8], eax
call fcn.00411200
mov eax, dword [esp + 0xa8]
mov esi, dword [esp + 0x1a4]
mov edi, dword [esp + 0xb0]
lea esi, [esp + 0x12c]
call fcn.00468754
mov ecx, dword [esp + 0xa0]
mov edx, eax
mov ebx, dword [esp + 0x7c]
mov eax, dword [esp + 0x1a4]
mov byte [edx + 0x35], 1
mov ebp, dword [ecx + 0x30]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x2c]
mov dword [edx + 0x54], ebp
mov dword [edx + 0x58], esi
mov ebp, dword [0x85d680]
test ebp, ebp
je 0x6126e4
mov ebp, edi
call fcn.00468040
mov dword [edi], ebp
mov esi, dword [edx + 0x50]
mov dword [edi + 4], esi
mov edi, ebp
mov dword [edx + 0x50], edi
mov ebp, dword [ecx + 0x48]
mov esi, dword [ecx + 0x4c]
mov edi, dword [ecx + 0x44]
mov dword [edx + 0x3c], ebp
mov dword [edx + 0x40], esi
mov ebp, dword [0x85d680]
test ebp, ebp
je 0x612711
mov ebp, edi
call fcn.00468040
mov dword [edi], ebp
mov esi, dword [edx + 0x38]
mov dword [edi + 4], esi
mov edi, ebp
mov dword [edx + 0x38], edi
mov ebp, dword [ecx + 0x54]
mov esi, dword [ecx + 0x58]
mov edi, dword [ecx + 0x50]
mov dword [edx + 0x48], ebp
mov dword [edx + 0x4c], esi
mov ebp, dword [0x85d680]
test ebp, ebp
je 0x61273e
mov ebp, edi
call fcn.00468040
mov dword [edi], ebp
mov esi, dword [edx + 0x44]
mov dword [edi + 4], esi
mov edi, ebp
mov dword [edx + 0x44], edi
mov ebp, dword [ecx + 0x60]
mov esi, dword [ecx + 0x64]
mov ecx, dword [ecx + 0x5c]
mov dword [edx + 0x6c], ebp
mov dword [edx + 0x70], esi
mov ebp, dword [0x85d680]
test ebp, ebp
je 0x612767
call fcn.00468040
mov dword [edi], ecx
mov ebp, dword [edx + 0x68]
mov dword [edi + 4], ebp
mov dword [edx + 0x68], ecx
mov ecx, dword [eax + 0x10]
mov byte [ecx + 0x68], 1
mov ecx, dword [eax + 0x10]
mov word [ecx + 0x6a], bx
mov byte [eax + 0x15], 1
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0
add esp, 0x1a0
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], ecx
add esp, 0x1a0
ret
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov byte [esp + 4], 0x33
call fcn.005e74d0
lea eax, [0x66a620]
mov dword [esp], eax
call fcn.0040c260
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x17
lea ecx, [0x696abe]
mov dword [eax], ecx
lea ecx, [0x6f1b20]
mov dword [esp + 0x1a8], ecx
mov dword [esp + 0x1ac], eax
add esp, 0x1a0
ret
movzx eax, byte [edi + edx]
movzx ebx, byte [edi + ebp]
xor eax, ebx
inc edi
movzx ebx, byte [esp + 0x75]
or ebx, eax
mov eax, dword [esp + 0x1a4]
mov byte [esp + 0x75], bl
mov ebx, dword [esp + 0x7c]
cmp edi, esi
jl 0x612806
movzx ebp, byte [esp + 0x75]
xchg ebp, eax
movzx eax, al
xchg ebp, eax
lea edx, [ebp - 1]
shr edx, 0x1f
jmp 0x6123d9
mov eax, ebx
mov ecx, edx
call fcn.00468090
xor eax, eax
mov ecx, eax
call fcn.00468090
nop
call fcn.00466c30
jmp fcn.00611c60