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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x68]
cmp eax, dword [ecx + 8]
jbe 0x4c0ff1
sub esp, 0xe8
mov ecx, dword [esp + 0x100]
test ecx, ecx
jle 0x4c0efd
mov edx, dword [esp + 0xf8]
test edx, edx
je 0x4becd6
test edx, 0x60
je 0x4c0e80
mov edi, dword [esp + 0xec]
mov dword [edi + 0xc], 0
mov ebx, dword [0xadb480]
test ebx, ebx
jne 0x4c0e69
mov dword [edi + 0x10], 0
mov dword [edi + 0x1c], edx
mov ebx, dword [0xadb480]
test ebx, ebx
jne 0x4c0e33
mov ebx, dword [esp + 0xf0]
mov dword [edi + 0x14], ebx
mov ebp, dword [esp + 0xf4]
mov dword [edi + 0x18], ebp
mov esi, edx
and edx, 0x1f
mov dword [esp + 0x80], edx
cmp edx, 0x10
jbe 0x4c09f4
cmp edx, 0x15
ja 0x4c01fd
cmp edx, 0x13
ja 0x4bf79e
cmp edx, 0x11
jne 0x4bf759
mov eax, dword [esp + 0xfc]
cmp eax, 0x71
jg 0x4bf742
cmp eax, 0x58
jne 0x4bf734
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004ae810
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x84], ecx
mov edx, dword [eax + 0x28]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
cmp eax, 8
jne 0x4bf077
mov eax, dword [esp + 0x80]
cmp eax, 0x17
je 0x4bf041
mov eax, dword [esp + 0xf8]
test eax, 0x100
jne 0x4befc1
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004ac2a0
mov eax, dword [esp + 0xc]
lea ecx, [0x7718e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00438a40
mov eax, dword [esp + 0x14]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x9c], edx
xor ebx, ebx
jmp 0x4bee3e
mov ebp, dword [esp + 0x9c]
mov byte [ebp + ecx], al
lea ebx, [ecx + 1]
mov eax, dword [esp + 0x70]
mov ecx, edx
mov edx, ebp
cmp ebx, ecx
jge 0x4bef50
mov dword [esp + 0x68], ebx
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.004abb90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x80], eax
cmp eax, 9
ja 0x4bef0e
cmp eax, 7
jne 0x4beea6
mov eax, dword [ecx]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jb 0x4bee28
jmp 0x4c0f96
cmp eax, 8
jne 0x4beeba
movzx eax, byte [ecx]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4bee9f
cmp eax, 9
jne 0x4beece
movzx eax, word [ecx]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4bee9f
lea eax, [0x790720]
mov dword [esp], eax
call fcn.00409cb0
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x12
mov eax, dword [0xadb480]
test eax, eax
jne 0x4beefe
lea eax, [0x7da455]
mov dword [edi], eax
jmp 0x4c0f09
lea eax, [0x7da455]
call fcn.0044c870
jmp 0x4c0f09
cmp eax, 0xa
jne 0x4bef24
mov eax, dword [ecx]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4bee9f
cmp eax, 0xb
jne 0x4bef3a
mov eax, dword [ecx]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4bee9f
cmp eax, 0xc
jne 0x4beece
mov eax, dword [ecx]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4bee9f
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x9c], edx
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx + 0x80]
mov ebp, dword [esp + 0x84]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xec]
mov dword [esp], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xfc]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
call fcn.004bcea0
add esp, 0xe8
ret
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004ac2a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
call fcn.004ae1d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004a9510
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x4bef50
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], eax
call fcn.004a9510
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x4bef50
mov eax, dword [esp + 0xec]
movzx ecx, byte [eax + 0x2c]
test cl, cl
jne 0x4bf29b
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x4bf249
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x5b
xor ecx, ecx
jmp 0x4bf11b
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.004abb90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x100]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004bec90
mov eax, dword [esp + 0x58]
lea ecx, [eax + 1]
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf8]
mov dword [esp + 8], ebx
call fcn.004ac2a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x58]
cmp ecx, eax
jge 0x4bf1d4
test ecx, ecx
jle 0x4bf0ab
mov eax, dword [esp + 0xec]
mov edx, dword [eax + 4]
lea ebx, [edx + 1]
mov ebp, dword [eax + 8]
mov esi, dword [eax]
cmp ebx, ebp
jg 0x4bf181
lea ebx, [edx + 1]
mov dword [eax + 4], ebx
mov byte [esi + edx], 0x20
jmp 0x4bf0ab
lea eax, [0x7718e0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00438b10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0xadb480]
test edx, edx
jne 0x4bf1cd
mov dword [edi], eax
mov edx, ecx
mov esi, eax
mov eax, edi
mov ecx, dword [esp + 0x58]
jmp 0x4bf172
call fcn.0044c870
jmp 0x4bf1c1
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
jg 0x4bf1fc
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x5d
add esp, 0xe8
ret
lea eax, [0x7718e0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00438b10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0xadb480]
test edx, edx
jne 0x4bf242
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4bf1ea
call fcn.0044c870
jmp 0x4bf23c
lea eax, [0x7718e0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00438b10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0xadb480]
test edx, edx
jne 0x4bf294
mov dword [edi], eax
mov edx, ecx
mov ebx, eax
mov eax, edi
jmp 0x4bf09d
call fcn.0044c870
jmp 0x4bf289
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 8], edx
call fcn.004ae810
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x7c], ebx
lea ebp, [eax + ebx]
mov dword [esp + 0x78], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x4bf6e8
test ebp, ebp
jl 0x4c0f8f
cmp ebp, esi
ja 0x4c0f8f
mov dword [esp + 0x74], esi
mov dword [esp + 0xb0], edi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044d070
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov edx, dword [0xadb480]
test edx, edx
jne 0x4bf6cc
mov edx, dword [esp + 0xb0]
mov dword [edi], edx
mov ebx, dword [esp + 0x80]
cmp ebx, 0x17
jne 0x4bf6c0
add ebx, 0xffffffeb
cmp ebx, 1
ja 0x4bf69e
mov ebx, dword [esp + 0xf8]
test ebx, 0x200
je 0x4bf5cc
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x50]
lea ebp, [esi + ebp + 1]
cmp ebp, ecx
jg 0x4bf575
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
xor eax, eax
jmp 0x4bf421
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.004abb90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x100]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004bec90
mov eax, dword [esp + 0x5c]
inc eax
mov ebx, dword [esp + 0xf8]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004ac2a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
cmp ecx, eax
jge 0x4bf502
test ecx, ecx
jle 0x4bf4fb
mov edi, dword [esp + 0xec]
mov edx, dword [edi + 4]
lea ebx, [edx + 2]
mov ebp, dword [edi + 8]
mov esi, dword [edi]
cmp ebx, ebp
ja 0x4bf4b5
test ebx, ebx
jl 0x4c0f81
cmp ebx, ebp
ja 0x4c0f81
mov eax, ecx
movzx ecx, word [0x7d41a0]
mov word [esi + edx], cx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebp
mov ecx, dword [0xadb480]
test ecx, ecx
jne 0x4bf4a5
mov dword [edi], esi
jmp 0x4bf3ac
mov ecx, eax
mov eax, esi
call fcn.0044c870
mov eax, ecx
jmp 0x4bf3ac
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ebx
lea eax, [0x7718e0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00438b10
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
jmp 0x4bf471
mov eax, ecx
jmp 0x4bf3ac
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
jg 0x4bf528
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x7d
jmp 0x4bf1f5
lea eax, [0x7718e0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00438b10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0xadb480]
test edx, edx
jne 0x4bf56e
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4bf518
call fcn.0044c870
jmp 0x4bf568
lea ebx, [0x7718e0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00438b10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0xadb480]
test edx, edx
jne 0x4bf5c5
mov dword [edi], eax
mov ebx, dword [esp + 0xf8]
mov edx, eax
mov eax, ecx
jmp 0x4bf39e
call fcn.0044c870
jmp 0x4bf5b5
test ebx, 0x80
je 0x4bf690
mov ebp, dword [esp + 0xf4]
mov esi, dword [ebp]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
xor esi, 1
xchg esi, eax
test al, al
xchg esi, eax
je 0x4bf38a
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x50]
lea ebx, [ebp + ebx + 5]
cmp ebx, ecx
ja 0x4bf652
test ebx, ebx
jl 0x4c0f88
cmp ebx, ecx
ja 0x4c0f88
mov ebp, dword [0x7d4943]
movzx esi, byte [0x7d4947]
mov dword [edx + eax], ebp
xchg esi, ebx
mov byte [edx + eax + 4], bl
xchg esi, ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0xadb480]
test ecx, ecx
jne 0x4bf649
mov dword [edi], edx
add esp, 0xe8
ret
mov eax, edx
call fcn.0044c870
jmp 0x4bf642
mov dword [esp + 0x7c], ebx
lea ebp, [0x7718e0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00438b10
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x4bf608
mov ebp, dword [esp + 0xf4]
mov esi, ebp
jmp 0x4bf5e2
mov ebp, dword [esp + 0xf4]
mov ebx, dword [ebp]
test ebx, ebx
xchg esi, ebx
setne bl
xchg esi, ebx
xor esi, 1
mov ebx, dword [esp + 0xf8]
jmp 0x4bf5ee
mov ebx, dword [esp + 0xf8]
jmp 0x4bf38a
mov edx, eax
mov eax, dword [esp + 0xb0]
call fcn.0044c870
mov eax, edx
mov edx, dword [esp + 0xb0]
jmp 0x4bf35b
mov dword [esp + 0x88], ecx
lea eax, [0x7718e0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00438b10
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
jmp 0x4bf301
cmp eax, 0x71
je 0x4bed67
jmp 0x4bf077
cmp eax, 0x73
je 0x4bed67
cmp eax, 0x78
je 0x4bed67
jmp 0x4bf077
lea eax, [edx - 0x12]
cmp eax, 1
ja 0x4bf785
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.004bd6a0
jmp 0x4bf1f5
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.004bbd90
jmp 0x4bf1f5
cmp edx, 0x14
je 0x4bff31
movzx edx, byte [edi + 0x2c]
test dl, dl
jne 0x4bfc77
mov edx, dword [edi + 4]
mov eax, ecx
lea ecx, [edx + 4]
mov esi, dword [edi]
mov ebp, dword [edi + 8]
cmp ecx, ebp
ja 0x4bfc27
test ecx, ecx
jl 0x4c0fce
cmp ecx, ebp
ja 0x4c0fce
mov ebx, dword [0x7d47be]
mov dword [esi + edx], ebx
mov dword [edi + 4], ecx
mov dword [edi + 8], ebp
mov ecx, dword [0xadb480]
test ecx, ecx
jne 0x4bfc17
mov dword [edi], esi
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 8], edx
call fcn.004ac610
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test eax, eax
jle 0x4bf9f7
mov dword [esp + 0x54], eax
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x100]
mov ebp, dword [esp + 0xfc]
xor esi, esi
jmp 0x4bf87b
mov edx, dword [esp + 0xac]
add edx, 0xc
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0x100]
mov esi, dword [esp + 0xfc]
mov ebx, ebp
mov ebp, esi
mov ecx, edx
mov esi, eax
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0xec]
mov dword [esp + 0xac], ecx
mov dword [esp + 0x64], esi
mov edi, ebx
mov ebx, dword [ecx + 8]
mov dword [esp + 0x80], ebx
mov ebp, dword [ecx + 4]
mov dword [esp + 0xa8], ebp
mov ecx, dword [ecx]
mov dword [esp + 0xa4], ecx
test esi, esi
jle 0x4bf903
movzx esi, byte [edx + 0x2c]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4bfb93
mov esi, dword [edx + 4]
lea ebx, [esi + 2]
mov ebp, dword [edx + 8]
mov ecx, dword [edx]
cmp ebx, ebp
ja 0x4bfb46
test ebx, ebx
jl 0x4c0fc7
cmp ebx, ebp
ja 0x4c0fc7
mov dword [esp + 0x7c], ebp
movzx ebp, word [0x7d41a0]
mov word [ecx + esi], bp
mov dword [edx + 4], ebx
mov ebx, dword [esp + 0x7c]
mov dword [edx + 8], ebx
mov ebx, dword [0xadb480]
test ebx, ebx
jne 0x4bfb30
mov dword [edx], ecx
mov dword [esp], edx
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xa8]
mov dword [esp + 8], ecx
mov ebx, dword [esp + 0x80]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0xfc]
mov dword [esp + 0x10], ebp
lea esi, [edi + 1]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x14], esi
call fcn.004bec90
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x4bfade
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x3a
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf8]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0xa8]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x80]
mov dword [esp + 0x14], ebp
call fcn.004ac440
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x14], ecx
call fcn.004bec90
mov eax, dword [esp + 0x64]
inc eax
mov ecx, dword [esp + 0x54]
cmp eax, ecx
jl 0x4bf849
mov eax, dword [esp + 0xec]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x4bfa71
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov ebx, dword [eax]
lea ebp, [ecx + 1]
cmp ebp, edx
jg 0x4bfa24
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x7d
jmp 0x4bf1f5
lea eax, [0x7718e0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.00438b10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0xadb480]
test edx, edx
jne 0x4bfa6a
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x4bfa15
call fcn.0044c870
jmp 0x4bfa64
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x4bfa8f
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x5d
jmp 0x4bf1f5
lea eax, [0x7718e0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00438b10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0xadb480]
test edx, edx
jne 0x4bfad7
mov dword [edi], eax
mov edx, ecx
mov ebx, eax
mov eax, edi
jmp 0x4bfa80
call fcn.0044c870
jmp 0x4bfacf
lea eax, [0x7718e0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00438b10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0xadb480]
test edx, edx
jne 0x4bfb29
mov dword [edi], eax
mov edx, ecx
mov ebx, eax
mov eax, edi
jmp 0x4bf95c
call fcn.0044c870
jmp 0x4bfb1e
mov ebx, edi
mov edi, edx
mov ebp, eax
mov eax, ecx
call fcn.0044c870
mov eax, ebp
mov edi, ebx
jmp 0x4bf903
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], esi
lea eax, [0x7718e0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00438b10
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x100]
jmp 0x4bf8ca
mov esi, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [edx + 8]
lea ebx, [esi + 1]
cmp ebx, edi
jg 0x4bfbbc
lea ebx, [esi + 1]
mov dword [edx + 4], ebx
mov byte [eax + esi], 0x20
mov eax, dword [esp + 0x54]
mov edi, dword [esp + 0x100]
jmp 0x4bf903
lea ecx, [0x7718e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebx
call fcn.00438b10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0xadb480]
test edx, edx
jne 0x4bfc10
mov dword [edi], eax
mov edx, edi
mov ebp, dword [esp + 0xa8]
mov esi, ecx
mov ecx, dword [esp + 0xa4]
jmp 0x4bfba2
call fcn.0044c870
jmp 0x4bfbfc
mov ecx, eax
mov eax, esi
call fcn.0044c870
mov eax, ecx
jmp 0x4bf7f7
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], edx
lea eax, [0x7718e0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00438b10
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0xf0]
mov edi, dword [esp + 0xec]
jmp 0x4bf7c8
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004ae810
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x7c], ebx
lea ebp, [ecx + ebx]
mov dword [esp + 0x78], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x4bfee5
test ebp, ebp
jl 0x4c0fdc
cmp ebp, esi
ja 0x4c0fdc
mov dword [esp + 0x74], esi
mov dword [esp + 0xb0], edi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044d070
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov edx, dword [0xadb480]
test edx, edx
jne 0x4bfec9
mov edx, dword [esp + 0xb0]
mov dword [edi], edx
mov ebx, dword [esp + 0x80]
lea ebp, [ebx - 0x15]
cmp ebp, 1
ja 0x4bfe89
mov ebx, dword [esp + 0xf8]
test ebx, 0x200
je 0x4bfdb7
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x4c]
lea ebp, [esi + ebp + 1]
cmp ebp, ecx
jg 0x4bfd63
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
jmp 0x4bf7f7
lea ebx, [0x7718e0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00438b10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0xadb480]
test edx, edx
jne 0x4bfdb0
mov dword [edi], eax
mov ebx, dword [esp + 0xf8]
mov edx, eax
mov eax, ecx
jmp 0x4bfd54
call fcn.0044c870
jmp 0x4bfda3
test ebx, 0x80
je 0x4bfe7b
mov ebp, dword [esp + 0xf4]
mov esi, dword [ebp]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
xor esi, 1
xchg esi, eax
test al, al
xchg esi, eax
je 0x4bfd44
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x4c]
lea ebx, [ebp + ebx + 5]
cmp ebx, ecx
ja 0x4bfe3d
test ebx, ebx
jl 0x4c0fd5
cmp ebx, ecx
ja 0x4c0fd5
mov ebp, dword [0x7d4943]
movzx esi, byte [0x7d4947]
mov dword [edx + eax], ebp
xchg esi, ebx
mov byte [edx + eax + 4], bl
xchg esi, ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0xadb480]
test ecx, ecx
jne 0x4bfe34
mov dword [edi], edx
add esp, 0xe8
ret
mov eax, edx
call fcn.0044c870
jmp 0x4bfe2d
mov dword [esp + 0x7c], ebx
lea ebp, [0x7718e0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00438b10
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x4bfdf3
mov ebp, dword [esp + 0xf4]
mov esi, ebp
jmp 0x4bfdcd
lea eax, [0x790720]
mov dword [esp], eax
call fcn.00409cb0
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x13
mov eax, dword [0xadb480]
test eax, eax
jne 0x4bfeb9
lea eax, [0x7daf2a]
mov dword [edi], eax
jmp 0x4c0f27
lea eax, [0x7daf2a]
call fcn.0044c870
jmp 0x4c0f27
mov edx, eax
mov eax, dword [esp + 0xb0]
call fcn.0044c870
mov eax, edx
mov edx, dword [esp + 0xb0]
jmp 0x4bfd22
mov dword [esp + 0x90], eax
lea eax, [0x7718e0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00438b10
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
jmp 0x4bfcc8
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004ab3d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x4c01c6
mov edi, dword [esp + 0xec]
movzx ecx, byte [edi + 0x2c]
test cl, cl
jne 0x4c0005
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp edx, ebx
ja 0x4bffc3
test edx, edx
jl 0x4c0f9d
cmp edx, ebx
ja 0x4c0f9d
movzx esi, byte [0x7d49ce]
mov eax, ebx
mov ebx, dword [0x7d49ca]
mov dword [ebp + ecx], ebx
xchg esi, eax
mov byte [ebp + ecx + 4], al
xchg esi, eax
mov dword [edi + 4], edx
mov dword [edi + 8], eax
mov ecx, dword [0xadb480]
test ecx, ecx
jne 0x4bffb7
mov dword [edi], ebp
jmp 0x4bf1f5
mov eax, ebp
call fcn.0044c870
jmp 0x4bf1f5
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], edx
lea eax, [0x7718e0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00438b10
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
jmp 0x4bff77
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], eax
call fcn.004ae810
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x7c], ebx
lea ebp, [eax + ebx]
mov dword [esp + 0x78], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x4c017a
test ebp, ebp
jl 0x4c0fab
cmp ebp, esi
ja 0x4c0fab
mov dword [esp + 0x74], esi
mov dword [esp + 0xb0], edi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044d070
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov edx, dword [0xadb480]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x48]
lea ebx, [ebp + ebx + 5]
test edx, edx
jne 0x4c015e
mov edx, dword [esp + 0xb0]
mov dword [edi], edx
cmp ebx, ecx
ja 0x4c0120
test ebx, ebx
jl 0x4c0fa4
cmp ebx, ecx
ja 0x4c0fa4
mov ebp, dword [0x7d4943]
movzx esi, byte [0x7d4947]
mov dword [edx + eax], ebp
xchg esi, ebx
mov byte [edx + eax + 4], bl
xchg esi, ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0xadb480]
test ecx, ecx
jne 0x4c0114
mov dword [edi], edx
jmp 0x4bf1f5
mov eax, edx
call fcn.0044c870
jmp 0x4bf1f5
mov dword [esp + 0x7c], ebx
lea ebp, [0x7718e0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00438b10
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x4c00d5
mov edx, eax
mov eax, dword [esp + 0xb0]
call fcn.0044c870
mov eax, edx
mov edx, dword [esp + 0xb0]
jmp 0x4c00d1
mov dword [esp + 0x8c], ecx
lea eax, [0x7718e0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00438b10
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
jmp 0x4c006b
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x100]
inc eax
mov dword [esp + 0x14], eax
call fcn.004bec90
jmp 0x4bf1f5
cmp edx, 0x17
ja 0x4c03a6
cmp edx, 0x16
jne 0x4bed4e
test ecx, ecx
jne 0x4bf761
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004ad1f0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4c0250
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xec]
jmp 0x4bf761
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 8], edx
call fcn.004ab3d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, eax
and eax, 0x1f
cmp eax, 0x15
ja 0x4c0392
cmp eax, 0x11
jne 0x4c0368
mov dword [esp + 0x80], ebx
mov eax, dword [esp + 0xec]
mov ebp, dword [eax + 8]
mov esi, dword [eax + 4]
mov edi, dword [eax]
lea ebx, [esi + 1]
cmp ebx, ebp
jg 0x4c02f8
lea ebx, [esi + 1]
mov dword [eax + 4], ebx
mov byte [edi + esi], 0x26
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x100]
inc eax
mov dword [esp + 0x14], eax
call fcn.004bec90
add esp, 0xe8
ret
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xa4], edx
lea eax, [0x7718e0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00438b10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0xadb480]
test edx, edx
jne 0x4c0361
mov dword [edi], eax
mov edx, dword [esp + 0xa4]
mov esi, ecx
mov ecx, dword [esp + 0xa8]
mov ebx, eax
mov eax, edi
mov edi, ebx
jmp 0x4c02b5
call fcn.0044c870
jmp 0x4c0346
cmp eax, 0x15
je 0x4c0298
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xec]
jmp 0x4bf761
cmp eax, 0x17
je 0x4c0298
cmp eax, 0x19
je 0x4c0298
jmp 0x4c0371
cmp edx, 0x18
je 0x4c09b5
cmp edx, 0x19
jne 0x4c09a7
movzx eax, byte [edi + 0x2c]
test al, al
jne 0x4c0885
mov eax, dword [edi + 4]
mov edx, dword [edi + 8]
mov ecx, dword [edi]
lea esi, [eax + 1]
cmp esi, edx
jg 0x4c0825
lea edx, [eax + 1]
mov dword [edi + 4], edx
mov byte [ecx + eax], 0x7b
lea eax, [esp + 8]
mov dword [esp + 0xa0], eax
xor ecx, ecx
jmp 0x4c0475
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0xc], ebx
call fcn.004bbc00
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x100]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004bec90
mov eax, dword [esp + 0x60]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov dword [esp + 0x60], ecx
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], eax
call fcn.004acd20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x60]
cmp ecx, eax
jge 0x4c07b2
test ecx, ecx
jle 0x4c07a4
mov edi, dword [esp + 0xec]
movzx edx, byte [edi + 0x2c]
test dl, dl
je 0x4c0733
mov edx, dword [edi + 4]
lea ebx, [edx + 2]
mov ebp, dword [edi + 8]
mov esi, dword [edi]
cmp ebx, ebp
ja 0x4c06ed
test ebx, ebx
jl 0x4c0fb9
cmp ebx, ebp
ja 0x4c0fb9
mov eax, ecx
movzx ecx, word [0x7d41a0]
mov word [esi + edx], cx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebp
mov ecx, dword [0xadb480]
test ecx, ecx
jne 0x4c06dd
mov dword [edi], esi
movzx ecx, byte [edi + 0x2b]
test cl, cl
je 0x4c06cc
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 8], edx
call fcn.004ae810
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x2c]
mov edx, dword [esp + 0x60]
mov dword [esp + 4], edx
mov dword [esp], ecx
call eax
lea edi, [esp + 0xb4]
mov esi, dword [esp + 0xa0]
call fcn.0044cdfe
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb4]
test eax, eax
je 0x4c06c0
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x7c], ebx
lea ebp, [eax + ebx]
mov dword [esp + 0x78], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x4c0674
test ebp, ebp
jl 0x4c0fb2
cmp ebp, edi
ja 0x4c0fb2
mov dword [esp + 0xb0], esi
mov dword [esp + 0x74], edi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044d070
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov edx, dword [0xadb480]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x40]
lea ebx, [ebp + ebx + 1]
test edx, edx
jne 0x4c065b
mov edx, dword [esp + 0xb0]
mov dword [edi], edx
cmp ebx, ecx
jg 0x4c060e
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x3a
jmp 0x4c03f3
lea ebp, [0x7718e0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00438b10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0xadb480]
test edx, edx
jne 0x4c0654
mov dword [edi], eax
mov edx, eax
mov eax, ecx
jmp 0x4c05ff
call fcn.0044c870
jmp 0x4c064e
mov edx, eax
mov eax, dword [esp + 0xb0]
call fcn.0044c870
mov eax, edx
mov edx, dword [esp + 0xb0]
jmp 0x4c05fb
mov dword [esp + 0x94], ecx
lea eax, [0x7718e0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.00438b10
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
jmp 0x4c0599
mov edi, dword [esp + 0xec]
jmp 0x4c03f3
movzx ecx, byte [edi + 0x2c]
test cl, cl
jne 0x4c050d
jmp 0x4c03f3
mov ecx, eax
mov eax, esi
call fcn.0044c870
mov eax, ecx
jmp 0x4c0501
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ebx
lea eax, [0x7718e0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00438b10
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
jmp 0x4c04ce
mov eax, dword [edi + 4]
lea edx, [eax + 1]
mov ebx, dword [edi]
mov ebp, dword [edi + 8]
cmp edx, ebp
jg 0x4c0753
lea edx, [eax + 1]
mov dword [edi + 4], edx
mov byte [ebx + eax], 0x20
mov eax, ecx
jmp 0x4c0501
lea ecx, [0x7718e0]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00438b10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0xadb480]
test edx, edx
jne 0x4c079d
mov dword [edi], eax
mov ebx, eax
mov eax, ecx
mov ecx, dword [esp + 0x60]
jmp 0x4c0742
call fcn.0044c870
jmp 0x4c0793
mov eax, ecx
mov edi, dword [esp + 0xec]
jmp 0x4c0501
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
jg 0x4c07d8
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x7d
jmp 0x4bf1f5
lea eax, [0x7718e0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00438b10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0xadb480]
test edx, edx
jne 0x4c081e
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4c07c8
call fcn.0044c870
jmp 0x4c0818
lea ebx, [0x7718e0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.00438b10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0xadb480]
test edx, edx
jne 0x4c087e
mov dword [edi], eax
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x4c03d7
call fcn.0044c870
jmp 0x4c0865
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004ae810
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
lea ebp, [eax + ebx]
mov dword [esp + 0x7c], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x4c0953
test ebp, ebp
jl 0x4c0fc0
cmp ebp, edi
ja 0x4c0fc0
mov dword [esp + 0xb0], esi
mov dword [esp + 0x78], edi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044d070
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x78]
mov dword [edi + 8], eax
mov eax, dword [0xadb480]
test eax, eax
jne 0x4c0945
mov eax, dword [esp + 0xb0]
mov dword [edi], eax
mov ecx, dword [esp + 0x100]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
jmp 0x4c03c4
mov eax, dword [esp + 0xb0]
call fcn.0044c870
jmp 0x4c0924
mov dword [esp + 0x78], ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x98], ecx
lea eax, [0x7718e0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.00438b10
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
jmp 0x4c08ce
cmp edx, 0x1a
je 0x4bf761
jmp 0x4bf785
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004ae600
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xec]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xc], eax
call fcn.004bcd30
jmp 0x4bf1f5
cmp edx, 0xc
ja 0x4c0d56
cmp edx, 1
ja 0x4c0bd5
test esi, 0x1f
jne 0x4c0b9d
test ecx, ecx
jne 0x4c0ae0
mov eax, dword [edi + 4]
lea ecx, [eax + 0x17]
mov dword [esp + 0x7c], ecx
mov edx, dword [edi]
mov ebx, dword [edi + 8]
cmp ecx, ebx
ja 0x4c0aa2
test ecx, ecx
jl 0x4c0fea
cmp ecx, ebx
ja 0x4c0fea
mov dword [esp + 0x78], ebx
mov dword [esp + 0xb0], edx
add eax, edx
mov dword [esp], eax
lea eax, [0x7dcc44]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
call fcn.0044d070
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x78]
mov dword [edi + 8], eax
mov eax, dword [0xadb480]
test eax, eax
jne 0x4c0a91
mov eax, dword [esp + 0xb0]
mov dword [edi], eax
jmp 0x4bf1f5
mov eax, dword [esp + 0xb0]
call fcn.0044c870
jmp 0x4bf1f5
mov dword [esp + 0x78], eax
lea ebp, [0x7718e0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00438b10
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x4c0a2d
mov ecx, dword [esp + 0xfc]
cmp ecx, 0x76
jne 0x4c0b8c
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi]
mov ebp, dword [edi + 8]
cmp edx, ebp
ja 0x4c0b4a
test edx, edx
jl 0x4c0fe3
cmp edx, ebp
ja 0x4c0fe3
mov esi, dword [0x7d49ca]
mov eax, ebp
movzx ebp, byte [0x7d49ce]
mov dword [ebx + ecx], esi
xchg ebp, eax
mov byte [ebx + ecx + 4], al
xchg ebp, eax
mov dword [edi + 4], edx
mov dword [edi + 8], eax
mov ecx, dword [0xadb480]
test ecx, ecx
jne 0x4c0b3e
mov dword [edi], ebx
jmp 0x4bf1f5
mov eax, ebx
call fcn.0044c870
jmp 0x4bf1f5
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ecx
lea eax, [0x7718e0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00438b10
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x4c0aff
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.004bc030
jmp 0x4bf1f5
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004a94d0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov byte [esp + 4], al
mov eax, dword [esp + 0xfc]
mov dword [esp + 8], eax
call fcn.004bc5e0
jmp 0x4bf1f5
lea eax, [edx - 2]
cmp eax, 4
ja 0x4c0c8f
cmp edx, 3
ja 0x4c0c23
cmp edx, 2
jne 0x4c0c18
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.004bc6c0
jmp 0x4bf1f5
movsx eax, byte [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4c0bf3
cmp edx, 4
jne 0x4c0c33
movsx eax, word [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4c0bf3
cmp edx, 5
jne 0x4c0c42
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4c0bf3
cmp edx, 6
jne 0x4c0c4f
mov ecx, dword [ebp]
mov eax, dword [ebp + 4]
jmp 0x4c0bf3
lea eax, [0x790720]
mov dword [esp], eax
call fcn.00409cb0
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x11
mov eax, dword [0xadb480]
test eax, eax
jne 0x4c0c7f
lea eax, [0x7d9b39]
mov dword [edi], eax
jmp 0x4c0f63
lea eax, [0x7d9b39]
call fcn.0044c870
jmp 0x4c0f63
lea eax, [edx - 7]
cmp eax, 5
ja 0x4bf785
cmp edx, 9
ja 0x4c0d2d
cmp edx, 7
jne 0x4c0cd3
mov eax, dword [ebp]
xor ecx, ecx
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 0
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.004bc6c0
jmp 0x4bf1f5
cmp edx, 8
jne 0x4c0ce0
movzx eax, byte [ebp]
xor ecx, ecx
jmp 0x4c0cae
cmp edx, 9
jne 0x4c0ced
movzx eax, word [ebp]
xor ecx, ecx
jmp 0x4c0cae
lea eax, [0x790720]
mov dword [esp], eax
call fcn.00409cb0
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x12
mov eax, dword [0xadb480]
test eax, eax
jne 0x4c0d1d
lea eax, [0x7da455]
mov dword [edi], eax
jmp 0x4c0f45
lea eax, [0x7da455]
call fcn.0044c870
jmp 0x4c0f45
cmp edx, 0xa
jne 0x4c0d3c
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4c0cae
cmp edx, 0xb
jne 0x4c0d4c
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
jmp 0x4c0cae
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4c0cae
cmp edx, 0xe
ja 0x4c0dba
cmp edx, 0xd
jne 0x4c0d8f
movss xmm0, dword [ebp]
mov dword [esp], edi
cvtss2sd xmm0, xmm0
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x20
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.004bc9e0
jmp 0x4bf1f5
movsd xmm0, qword [ebp]
mov dword [esp], edi
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x40
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.004bc9e0
jmp 0x4bf1f5
cmp edx, 0xf
jne 0x4c0dfd
movss xmm0, dword [ebp]
movss xmm1, dword [ebp + 4]
mov dword [esp], edi
cvtss2sd xmm0, xmm0
movsd qword [esp + 4], xmm0
cvtss2sd xmm0, xmm1
movsd qword [esp + 0xc], xmm0
mov dword [esp + 0x14], 0x40
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x18], eax
call fcn.004bcb40
jmp 0x4bf1f5
movsd xmm0, qword [ebp + 8]
movsd xmm1, qword [ebp]
mov dword [esp], edi
movsd qword [esp + 4], xmm1
movsd qword [esp + 0xc], xmm0
mov dword [esp + 0x14], pe_nt_image_headers32
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x18], eax
call fcn.004bcb40
jmp 0x4bf1f5
lea esi, [edi + 0x14]
mov eax, edi
mov edi, esi
mov ebx, eax
mov eax, dword [esp + 0xf0]
call fcn.0044c870
lea edi, [ebx + 0x18]
mov ebp, eax
mov eax, dword [esp + 0xf4]
call fcn.0044c870
mov ebx, ebp
mov ebp, eax
mov edi, dword [esp + 0xec]
jmp 0x4bed1e
lea ebx, [edi + 0x10]
mov eax, edi
mov edi, ebx
mov ebp, eax
xor eax, eax
call fcn.0044c870
mov edi, ebp
jmp 0x4becf9
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004abf00
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xec]
mov dword [edx + 0xc], ecx
mov ecx, dword [0xadb480]
test ecx, ecx
jne 0x4c0ef3
mov dword [edx + 0x10], eax
mov dword [esp], edx
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
call fcn.004bdfe0
movzx eax, byte [esp + 8]
test al, al
jne 0x4c0eec
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0xf8]
jmp 0x4becd6
add esp, 0xe8
ret
lea edi, [edx + 0x10]
call fcn.0044c870
jmp 0x4c0ebd
mov edx, dword [esp + 0xf8]
jmp 0x4becd6
mov eax, dword [esp + 0x80]
mov dword [edi + 8], eax
lea eax, [0x77dec0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00427310
ud2
mov eax, dword [esp + 0x80]
mov dword [edi + 8], eax
lea eax, [0x77dec0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00427310
ud2
mov eax, dword [esp + 0x80]
mov dword [edi + 8], eax
lea eax, [0x77dec0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00427310
ud2
mov eax, dword [esp + 0x80]
mov dword [edi + 8], eax
lea eax, [0x77dec0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00427310
ud2
call fcn.00426530
ud2
call fcn.00426530
ud2
call fcn.00426530
ud2
call fcn.00426430
ud2
call fcn.00426530
ud2
call fcn.00426530
ud2
call fcn.00426530
ud2
call fcn.00426530
ud2
call fcn.00426530
ud2
call fcn.00426530
ud2
call fcn.00426530
ud2
call fcn.00426530
ud2
call fcn.00426530
ud2
call fcn.00426530
ud2
call fcn.00426530
ud2
call fcn.00426530
ud2
call fcn.0044b110
jmp fcn.004bec90