Function at 0x49e950
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 0x4a0c24
sub esp, 0xe8
mov ecx, dword [esp + 0x100]
test ecx, ecx
jle 0x4a0b30
mov edx, dword [esp + 0xf8]
test edx, edx
je 0x49e996
test edx, 0x60
je 0x4a0ab3
mov edi, dword [esp + 0xec]
mov dword [edi + 0xc], 0
mov ebx, dword [0x5cd9c0]
test ebx, ebx
jne 0x4a0a9c
mov dword [edi + 0x10], 0
mov dword [edi + 0x1c], edx
mov ebx, dword [0x5cd9c0]
test ebx, ebx
jne 0x4a0a66
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 0x4a0638
cmp edx, 0x15
ja 0x49fe5f
cmp edx, 0x13
ja 0x49f440
cmp edx, 0x11
jne 0x49f3fb
mov eax, dword [esp + 0xfc]
cmp eax, 0x71
jg 0x49f3e4
cmp eax, 0x58
jne 0x49f3d6
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046fe30
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 0x49ed37
mov eax, dword [esp + 0x80]
cmp eax, 0x17
je 0x49ed01
mov eax, dword [esp + 0xf8]
test eax, 0x100
jne 0x49ec81
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.0046e9d0
mov eax, dword [esp + 0xc]
lea ecx, [0x4dc9e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00436280
mov eax, dword [esp + 0x10]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x9c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x70], edx
xor ebx, ebx
jmp 0x49eafe
mov ebp, dword [esp + 0x9c]
mov byte [ebp + ecx], al
lea ebx, [ecx + 1]
mov eax, edx
mov ecx, ebp
mov edx, dword [esp + 0x70]
cmp ebx, eax
jge 0x49ec10
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.0046e5f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
and ecx, 0x1f
mov dword [esp + 0x80], ecx
cmp ecx, 9
ja 0x49ebce
cmp ecx, 7
jne 0x49eb66
mov eax, dword [eax]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jb 0x49eae8
jmp 0x4a0bc9
cmp ecx, 8
jne 0x49eb7a
movzx eax, byte [eax]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x49eb5f
cmp ecx, 9
jne 0x49eb8e
movzx eax, word [eax]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x49eb5f
lea eax, [0x4e29c0]
mov dword [esp], eax
call fcn.00409680
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x12
mov eax, dword [0x5cd9c0]
test eax, eax
jne 0x49ebbe
lea eax, [0x4f8e0f]
mov dword [edi], eax
jmp 0x4a0b3c
lea eax, [0x4f8e0f]
call fcn.00449ce0
jmp 0x4a0b3c
cmp ecx, 0xa
jne 0x49ebe4
mov eax, dword [eax]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x49eb5f
cmp ecx, 0xb
jne 0x49ebfa
mov eax, dword [eax]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x49eb5f
cmp ecx, 0xc
jne 0x49eb8e
mov eax, dword [eax]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x49eb5f
mov dword [esp + 0x70], edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x9c], ecx
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.0049cba0
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.0046e9d0
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.0046fae0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0046db50
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
jmp 0x49ec10
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.0046db50
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
jmp 0x49ec10
mov eax, dword [esp + 0xec]
movzx ecx, byte [eax + 0x2c]
test cl, cl
jne 0x49ef5b
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x49ef09
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x5b
xor ecx, ecx
jmp 0x49eddb
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.0046e5f0
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.0049e950
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.0046e9d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x58]
cmp ecx, eax
jge 0x49ee94
test ecx, ecx
jle 0x49ed6b
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 0x49ee41
lea ebx, [edx + 1]
mov dword [eax + 4], ebx
mov byte [esi + edx], 0x20
jmp 0x49ed6b
lea eax, [0x4dc9e0]
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.00436350
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 [0x5cd9c0]
test edx, edx
jne 0x49ee8d
mov dword [edi], eax
mov edx, ecx
mov esi, eax
mov eax, edi
mov ecx, dword [esp + 0x58]
jmp 0x49ee32
call fcn.00449ce0
jmp 0x49ee81
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 0x49eebc
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x5d
add esp, 0xe8
ret
lea eax, [0x4dc9e0]
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.00436350
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 [0x5cd9c0]
test edx, edx
jne 0x49ef02
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x49eeaa
call fcn.00449ce0
jmp 0x49eefc
lea eax, [0x4dc9e0]
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.00436350
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 [0x5cd9c0]
test edx, edx
jne 0x49ef54
mov dword [edi], eax
mov edx, ecx
mov ebx, eax
mov eax, edi
jmp 0x49ed5d
call fcn.00449ce0
jmp 0x49ef49
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.0046fe30
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 0x49f38a
cmp ebp, esi
ja 0x4a0bc2
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.0044a4e0
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 [0x5cd9c0]
test edx, edx
jne 0x49f36e
mov edx, dword [esp + 0xb0]
mov dword [edi], edx
mov ebx, dword [esp + 0x80]
cmp ebx, 0x17
jne 0x49f362
add ebx, 0xffffffeb
cmp ebx, 1
ja 0x49f340
mov ebx, dword [esp + 0xf8]
test ebx, 0x200
je 0x49f279
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x50]
lea ebp, [esi + ebp + 1]
cmp ebp, ecx
jg 0x49f222
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
xor eax, eax
jmp 0x49f0d9
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.0046e5f0
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.0049e950
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.0046e9d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
cmp ecx, eax
jge 0x49f1af
test ecx, ecx
jle 0x49f1a8
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 0x49f165
cmp ebx, ebp
ja 0x4a0bb4
mov eax, ecx
movzx ecx, word [0x4f6209]
mov word [esi + edx], cx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebp
mov ecx, dword [0x5cd9c0]
test ecx, ecx
jne 0x49f155
mov dword [edi], esi
jmp 0x49f064
mov ecx, eax
mov eax, esi
call fcn.00449ce0
mov eax, ecx
jmp 0x49f064
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], edx
lea eax, [0x4dc9e0]
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.00436350
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x49f129
mov eax, ecx
jmp 0x49f064
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 0x49f1d5
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x7d
jmp 0x49eeb5
lea eax, [0x4dc9e0]
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.00436350
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 [0x5cd9c0]
test edx, edx
jne 0x49f21b
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x49f1c5
call fcn.00449ce0
jmp 0x49f215
lea ebx, [0x4dc9e0]
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.00436350
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 [0x5cd9c0]
test edx, edx
jne 0x49f272
mov dword [edi], eax
mov ebx, dword [esp + 0xf8]
mov edx, eax
mov eax, ecx
jmp 0x49f056
call fcn.00449ce0
jmp 0x49f262
test ebx, 0x80
je 0x49f332
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 0x49f042
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x50]
lea ebx, [ebp + ebx + 5]
cmp ebx, ecx
ja 0x49f2f7
cmp ebx, ecx
ja 0x4a0bbb
mov ebp, dword [0x4f65f7]
movzx esi, byte [0x4f65fb]
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 [0x5cd9c0]
test ecx, ecx
jne 0x49f2ee
mov dword [edi], edx
add esp, 0xe8
ret
mov eax, edx
call fcn.00449ce0
jmp 0x49f2e7
mov dword [esp + 0x7c], ebx
lea ebp, [0x4dc9e0]
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.00436350
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 0x49f2b5
mov ebp, dword [esp + 0xf4]
mov esi, ebp
jmp 0x49f28f
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 0x49f29b
mov ebx, dword [esp + 0xf8]
jmp 0x49f042
mov edx, eax
mov eax, dword [esp + 0xb0]
call fcn.00449ce0
mov eax, edx
mov edx, dword [esp + 0xb0]
jmp 0x49f013
mov dword [esp + 0x88], ecx
lea eax, [0x4dc9e0]
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.00436350
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
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 0x49efc1
cmp eax, 0x71
je 0x49ea27
jmp 0x49ed37
cmp eax, 0x73
je 0x49ea27
cmp eax, 0x78
je 0x49ea27
jmp 0x49ed37
lea eax, [edx - 0x12]
cmp eax, 1
ja 0x49f427
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.0049d390
jmp 0x49eeb5
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.0049bad0
jmp 0x49eeb5
cmp edx, 0x14
je 0x49fbb0
movzx edx, byte [edi + 0x2c]
test dl, dl
jne 0x49f909
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 0x49f8b9
cmp ecx, ebp
ja 0x4a0c01
mov ebx, dword [0x4f6558]
mov dword [esi + edx], ebx
mov dword [edi + 4], ecx
mov dword [edi + 8], ebp
mov ecx, dword [0x5cd9c0]
test ecx, ecx
jne 0x49f8a9
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.0046ed40
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test eax, eax
jle 0x49f689
mov dword [esp + 0x54], eax
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x100]
mov ebp, dword [esp + 0xfc]
xor esi, esi
jmp 0x49f515
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 0x49f595
movzx esi, byte [edx + 0x2c]
xchg esi, eax
test al, al
xchg esi, eax
je 0x49f825
mov esi, dword [edx + 4]
lea ebx, [esi + 2]
mov ebp, dword [edx + 8]
mov ecx, dword [edx]
cmp ebx, ebp
ja 0x49f7d8
cmp ebx, ebp
ja 0x4a0bfa
mov dword [esp + 0x7c], ebp
movzx ebp, word [0x4f6209]
mov word [ecx + esi], bp
mov dword [edx + 4], ebx
mov ebx, dword [esp + 0x7c]
mov dword [edx + 8], ebx
mov ebx, dword [0x5cd9c0]
test ebx, ebx
jne 0x49f7c2
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.0049e950
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 0x49f770
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.0046eb70
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.0049e950
mov eax, dword [esp + 0x64]
inc eax
mov ecx, dword [esp + 0x54]
cmp eax, ecx
jl 0x49f4e3
mov eax, dword [esp + 0xec]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x49f703
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov ebx, dword [eax]
lea ebp, [ecx + 1]
cmp ebp, edx
jg 0x49f6b6
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x7d
jmp 0x49eeb5
lea eax, [0x4dc9e0]
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.00436350
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 [0x5cd9c0]
test edx, edx
jne 0x49f6fc
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x49f6a7
call fcn.00449ce0
jmp 0x49f6f6
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x49f721
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x5d
jmp 0x49eeb5
lea eax, [0x4dc9e0]
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.00436350
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 [0x5cd9c0]
test edx, edx
jne 0x49f769
mov dword [edi], eax
mov edx, ecx
mov ebx, eax
mov eax, edi
jmp 0x49f712
call fcn.00449ce0
jmp 0x49f761
lea eax, [0x4dc9e0]
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.00436350
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 [0x5cd9c0]
test edx, edx
jne 0x49f7bb
mov dword [edi], eax
mov edx, ecx
mov ebx, eax
mov eax, edi
jmp 0x49f5ee
call fcn.00449ce0
jmp 0x49f7b0
mov ebx, edi
mov edi, edx
mov ebp, eax
mov eax, ecx
call fcn.00449ce0
mov eax, ebp
mov edi, ebx
jmp 0x49f595
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], esi
lea eax, [0x4dc9e0]
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.00436350
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 0x49f564
mov esi, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [edx + 8]
lea ebx, [esi + 1]
cmp ebx, edi
jg 0x49f84e
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 0x49f595
lea ecx, [0x4dc9e0]
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.00436350
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 [0x5cd9c0]
test edx, edx
jne 0x49f8a2
mov dword [edi], eax
mov edx, edi
mov ebp, dword [esp + 0xa8]
mov esi, ecx
mov ecx, dword [esp + 0xa4]
jmp 0x49f834
call fcn.00449ce0
jmp 0x49f88e
mov ecx, eax
mov eax, esi
call fcn.00449ce0
mov eax, ecx
jmp 0x49f491
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], edx
lea eax, [0x4dc9e0]
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.00436350
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 0x49f46a
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046fe30
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 0x49fb64
cmp ebp, esi
ja 0x4a0c0f
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.0044a4e0
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 [0x5cd9c0]
test edx, edx
jne 0x49fb48
mov edx, dword [esp + 0xb0]
mov dword [edi], edx
mov ebx, dword [esp + 0x80]
lea ebp, [ebx - 0x15]
cmp ebp, 1
ja 0x49fb08
mov ebx, dword [esp + 0xf8]
test ebx, 0x200
je 0x49fa41
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x4c]
lea ebp, [esi + ebp + 1]
cmp ebp, ecx
jg 0x49f9ed
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
jmp 0x49f491
lea ebx, [0x4dc9e0]
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.00436350
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 [0x5cd9c0]
test edx, edx
jne 0x49fa3a
mov dword [edi], eax
mov ebx, dword [esp + 0xf8]
mov edx, eax
mov eax, ecx
jmp 0x49f9de
call fcn.00449ce0
jmp 0x49fa2d
test ebx, 0x80
je 0x49fafa
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 0x49f9ce
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x4c]
lea ebx, [ebp + ebx + 5]
cmp ebx, ecx
ja 0x49fabf
cmp ebx, ecx
ja 0x4a0c08
mov ebp, dword [0x4f65f7]
movzx esi, byte [0x4f65fb]
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 [0x5cd9c0]
test ecx, ecx
jne 0x49fab6
mov dword [edi], edx
add esp, 0xe8
ret
mov eax, edx
call fcn.00449ce0
jmp 0x49faaf
mov dword [esp + 0x7c], ebx
lea ebp, [0x4dc9e0]
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.00436350
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 0x49fa7d
mov ebp, dword [esp + 0xf4]
mov esi, ebp
jmp 0x49fa57
lea eax, [0x4e29c0]
mov dword [esp], eax
call fcn.00409680
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x13
mov eax, dword [0x5cd9c0]
test eax, eax
jne 0x49fb38
lea eax, [0x4f9396]
mov dword [edi], eax
jmp 0x4a0b5a
lea eax, [0x4f9396]
call fcn.00449ce0
jmp 0x4a0b5a
mov edx, eax
mov eax, dword [esp + 0xb0]
call fcn.00449ce0
mov eax, edx
mov edx, dword [esp + 0xb0]
jmp 0x49f9ac
mov dword [esp + 0x90], eax
lea eax, [0x4dc9e0]
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.00436350
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 0x49f95a
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046e360
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
test ecx, ecx
jne 0x49fe28
mov edi, dword [esp + 0xec]
movzx ecx, byte [edi + 0x2c]
test cl, cl
jne 0x49fc7a
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp edx, ebx
ja 0x49fc38
cmp edx, ebx
ja 0x4a0bd0
mov esi, dword [0x4f664c]
mov eax, ebx
movzx ebx, byte [0x4f6650]
mov dword [ebp + ecx], esi
mov byte [ebp + ecx + 4], bl
mov dword [edi + 4], edx
mov dword [edi + 8], eax
mov ecx, dword [0x5cd9c0]
test ecx, ecx
jne 0x49fc2c
mov dword [edi], ebp
jmp 0x49eeb5
mov eax, ebp
call fcn.00449ce0
jmp 0x49eeb5
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ecx
lea eax, [0x4dc9e0]
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.00436350
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x49fbf6
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.0046fe30
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 0x49fddc
cmp ebp, esi
ja 0x4a0bde
mov dword [esp + 0xb0], edi
mov dword [esp + 0x74], esi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044a4e0
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 [0x5cd9c0]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x48]
lea ebx, [ebp + ebx + 5]
test edx, edx
jne 0x49fdc0
mov edx, dword [esp + 0xb0]
mov dword [edi], edx
cmp ebx, ecx
ja 0x49fd85
cmp ebx, ecx
ja 0x4a0bd7
mov ebp, dword [0x4f65f7]
movzx esi, byte [0x4f65fb]
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 [0x5cd9c0]
test ecx, ecx
jne 0x49fd79
mov dword [edi], edx
jmp 0x49eeb5
mov eax, edx
call fcn.00449ce0
jmp 0x49eeb5
mov dword [esp + 0x7c], ebx
lea ebp, [0x4dc9e0]
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.00436350
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 0x49fd42
mov edx, eax
mov eax, dword [esp + 0xb0]
call fcn.00449ce0
mov eax, edx
mov edx, dword [esp + 0xb0]
jmp 0x49fd3e
mov dword [esp + 0x8c], ecx
lea eax, [0x4dc9e0]
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.00436350
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 0x49fce0
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x100]
inc eax
mov dword [esp + 0x14], eax
call fcn.0049e950
jmp 0x49eeb5
cmp edx, 0x17
ja 0x4a0006
cmp edx, 0x16
jne 0x49ea0e
test ecx, ecx
jne 0x49f403
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046f0f0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x49feb2
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xec]
jmp 0x49f403
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.0046e360
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ebx, ecx
and ecx, 0x1f
cmp ecx, 0x15
ja 0x49fff2
cmp ecx, 0x11
jne 0x49ffc8
mov dword [esp + 0x80], ebx
mov ecx, dword [esp + 0xec]
mov ebp, dword [ecx + 4]
mov esi, dword [ecx]
mov edi, dword [ecx + 8]
lea ebx, [ebp + 1]
cmp ebx, edi
jg 0x49ff5a
lea ebx, [ebp + 1]
mov dword [ecx + 4], ebx
mov byte [esi + ebp], 0x26
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
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.0049e950
add esp, 0xe8
ret
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], edx
lea eax, [0x4dc9e0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebx
call fcn.00436350
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 [0x5cd9c0]
test edx, edx
jne 0x49ffc1
mov dword [edi], eax
mov edx, dword [esp + 0xa4]
mov ebp, ecx
mov esi, eax
mov eax, dword [esp + 0xa8]
mov ecx, edi
jmp 0x49ff17
call fcn.00449ce0
jmp 0x49ffa8
cmp ecx, 0x15
je 0x49fefa
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xec]
jmp 0x49f403
cmp ecx, 0x17
je 0x49fefa
cmp ecx, 0x19
je 0x49fefa
jmp 0x49ffd1
cmp edx, 0x18
je 0x4a05f9
cmp edx, 0x19
jne 0x4a05eb
movzx eax, byte [edi + 0x2c]
test al, al
jne 0x4a04d5
mov eax, dword [edi + 4]
mov edx, dword [edi + 8]
mov ecx, dword [edi]
lea esi, [eax + 1]
cmp esi, edx
jg 0x4a0475
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 0x4a00d5
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.0049b940
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.0049e950
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.0046f0b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x60]
cmp ecx, eax
jge 0x4a0402
test ecx, ecx
jle 0x4a03f4
mov edi, dword [esp + 0xec]
movzx edx, byte [edi + 0x2c]
test dl, dl
je 0x4a0383
mov edx, dword [edi + 4]
lea ebx, [edx + 2]
mov ebp, dword [edi + 8]
mov esi, dword [edi]
cmp ebx, ebp
ja 0x4a033d
cmp ebx, ebp
ja 0x4a0bec
mov eax, ecx
movzx ecx, word [0x4f6209]
mov word [esi + edx], cx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebp
mov ecx, dword [0x5cd9c0]
test ecx, ecx
jne 0x4a032d
mov dword [edi], esi
movzx ecx, byte [edi + 0x2b]
test cl, cl
je 0x4a031c
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.0046fe30
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.0044a26e
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb4]
test eax, eax
je 0x4a0310
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 0x4a02c4
cmp ebp, edi
ja 0x4a0be5
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.0044a4e0
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 [0x5cd9c0]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x40]
lea ebx, [ebp + ebx + 1]
test edx, edx
jne 0x4a02ab
mov edx, dword [esp + 0xb0]
mov dword [edi], edx
cmp ebx, ecx
jg 0x4a025e
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x3a
jmp 0x4a0053
lea ebp, [0x4dc9e0]
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.00436350
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 [0x5cd9c0]
test edx, edx
jne 0x4a02a4
mov dword [edi], eax
mov edx, eax
mov eax, ecx
jmp 0x4a024f
call fcn.00449ce0
jmp 0x4a029e
mov edx, eax
mov eax, dword [esp + 0xb0]
call fcn.00449ce0
mov eax, edx
mov edx, dword [esp + 0xb0]
jmp 0x4a024b
mov dword [esp + 0x94], ecx
lea eax, [0x4dc9e0]
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.00436350
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 0x4a01f1
mov edi, dword [esp + 0xec]
jmp 0x4a0053
movzx ecx, byte [edi + 0x2c]
test cl, cl
jne 0x4a0165
jmp 0x4a0053
mov ecx, eax
mov eax, esi
call fcn.00449ce0
mov eax, ecx
jmp 0x4a0159
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ebx
lea eax, [0x4dc9e0]
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.00436350
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 0x4a012e
mov eax, dword [edi + 4]
lea edx, [eax + 1]
mov ebx, dword [edi]
mov ebp, dword [edi + 8]
cmp edx, ebp
jg 0x4a03a3
lea edx, [eax + 1]
mov dword [edi + 4], edx
mov byte [ebx + eax], 0x20
mov eax, ecx
jmp 0x4a0159
lea ecx, [0x4dc9e0]
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.00436350
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 [0x5cd9c0]
test edx, edx
jne 0x4a03ed
mov dword [edi], eax
mov ebx, eax
mov eax, ecx
mov ecx, dword [esp + 0x60]
jmp 0x4a0392
call fcn.00449ce0
jmp 0x4a03e3
mov eax, ecx
mov edi, dword [esp + 0xec]
jmp 0x4a0159
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 0x4a0428
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x7d
jmp 0x49eeb5
lea eax, [0x4dc9e0]
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.00436350
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 [0x5cd9c0]
test edx, edx
jne 0x4a046e
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4a0418
call fcn.00449ce0
jmp 0x4a0468
lea ebx, [0x4dc9e0]
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.00436350
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 [0x5cd9c0]
test edx, edx
jne 0x4a04ce
mov dword [edi], eax
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x4a0037
call fcn.00449ce0
jmp 0x4a04b5
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046fe30
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 0x4a0597
cmp ebp, edi
ja 0x4a0bf3
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.0044a4e0
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 [0x5cd9c0]
test eax, eax
jne 0x4a0589
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 0x4a0024
mov eax, dword [esp + 0xb0]
call fcn.00449ce0
jmp 0x4a0568
mov dword [esp + 0x78], ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x98], ecx
lea eax, [0x4dc9e0]
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.00436350
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 0x4a051a
cmp edx, 0x1a
je 0x49f403
jmp 0x49f427
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046fd40
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.0049ca30
jmp 0x49eeb5
cmp edx, 0xc
ja 0x4a0989
cmp edx, 1
ja 0x4a0808
test esi, 0x1f
jne 0x4a07d0
test ecx, ecx
jne 0x4a071c
mov eax, dword [edi + 4]
lea ecx, [eax + 0x17]
mov dword [esp + 0x7c], ecx
mov edx, dword [edi + 8]
mov ebx, dword [edi]
cmp ecx, edx
ja 0x4a06de
cmp ecx, edx
ja 0x4a0c1d
mov dword [esp + 0x78], edx
mov dword [esp + 0xb0], ebx
add eax, ebx
mov dword [esp], eax
lea eax, [0x4fa4b9]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
call fcn.0044a4e0
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 [0x5cd9c0]
test eax, eax
jne 0x4a06cd
mov eax, dword [esp + 0xb0]
mov dword [edi], eax
jmp 0x49eeb5
mov eax, dword [esp + 0xb0]
call fcn.00449ce0
jmp 0x49eeb5
mov dword [esp + 0x78], eax
lea ebp, [0x4dc9e0]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00436350
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x4a0671
mov ecx, dword [esp + 0xfc]
cmp ecx, 0x76
jne 0x4a07bf
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp edx, ebx
ja 0x4a077d
cmp edx, ebx
ja 0x4a0c16
mov esi, dword [0x4f664c]
mov eax, ebx
movzx ebx, byte [0x4f6650]
mov dword [ebp + ecx], esi
mov byte [ebp + ecx + 4], bl
mov dword [edi + 4], edx
mov dword [edi + 8], eax
mov ecx, dword [0x5cd9c0]
test ecx, ecx
jne 0x4a0771
mov dword [edi], ebp
jmp 0x49eeb5
mov eax, ebp
call fcn.00449ce0
jmp 0x49eeb5
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ecx
lea eax, [0x4dc9e0]
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.00436350
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x4a073b
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.0049bd70
jmp 0x49eeb5
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046db10
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.0049c2f0
jmp 0x49eeb5
lea eax, [edx - 2]
cmp eax, 4
ja 0x4a08c2
cmp edx, 3
ja 0x4a0856
cmp edx, 2
jne 0x4a084b
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.0049c3d0
jmp 0x49eeb5
movsx eax, byte [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4a0826
cmp edx, 4
jne 0x4a0866
movsx eax, word [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4a0826
cmp edx, 5
jne 0x4a0875
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4a0826
cmp edx, 6
jne 0x4a0882
mov ecx, dword [ebp]
mov eax, dword [ebp + 4]
jmp 0x4a0826
lea eax, [0x4e29c0]
mov dword [esp], eax
call fcn.00409680
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x11
mov eax, dword [0x5cd9c0]
test eax, eax
jne 0x4a08b2
lea eax, [0x4f89a2]
mov dword [edi], eax
jmp 0x4a0b96
lea eax, [0x4f89a2]
call fcn.00449ce0
jmp 0x4a0b96
lea eax, [edx - 7]
cmp eax, 5
ja 0x49f427
cmp edx, 9
ja 0x4a0960
cmp edx, 7
jne 0x4a0906
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.0049c3d0
jmp 0x49eeb5
cmp edx, 8
jne 0x4a0913
movzx eax, byte [ebp]
xor ecx, ecx
jmp 0x4a08e1
cmp edx, 9
jne 0x4a0920
movzx eax, word [ebp]
xor ecx, ecx
jmp 0x4a08e1
lea eax, [0x4e29c0]
mov dword [esp], eax
call fcn.00409680
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x12
mov eax, dword [0x5cd9c0]
test eax, eax
jne 0x4a0950
lea eax, [0x4f8e0f]
mov dword [edi], eax
jmp 0x4a0b78
lea eax, [0x4f8e0f]
call fcn.00449ce0
jmp 0x4a0b78
cmp edx, 0xa
jne 0x4a096f
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4a08e1
cmp edx, 0xb
jne 0x4a097f
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
jmp 0x4a08e1
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4a08e1
cmp edx, 0xe
ja 0x4a09ed
cmp edx, 0xd
jne 0x4a09c2
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.0049c6f0
jmp 0x49eeb5
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.0049c6f0
jmp 0x49eeb5
cmp edx, 0xf
jne 0x4a0a30
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.0049c850
jmp 0x49eeb5
movsd xmm0, qword [ebp]
movsd xmm1, qword [ebp + 8]
mov dword [esp], edi
movsd qword [esp + 4], xmm0
movsd qword [esp + 0xc], xmm1
mov dword [esp + 0x14], pe_nt_image_headers32
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x18], eax
call fcn.0049c850
jmp 0x49eeb5
lea esi, [edi + 0x14]
mov eax, edi
mov edi, esi
mov ebx, eax
mov eax, dword [esp + 0xf0]
call fcn.00449ce0
lea edi, [ebx + 0x18]
mov ebp, eax
mov eax, dword [esp + 0xf4]
call fcn.00449ce0
mov ebx, ebp
mov ebp, eax
mov edi, dword [esp + 0xec]
jmp 0x49e9de
lea ebx, [edi + 0x10]
mov eax, edi
mov edi, ebx
mov ebp, eax
xor eax, eax
call fcn.00449ce0
mov edi, ebp
jmp 0x49e9b9
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.0046e7c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xec]
mov dword [edx + 0xc], ecx
mov ecx, dword [0x5cd9c0]
test ecx, ecx
jne 0x4a0b26
mov dword [edx + 0x10], eax
mov dword [esp], edx
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
call fcn.0049dca0
movzx eax, byte [esp + 8]
test al, al
jne 0x4a0b1f
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0xf8]
jmp 0x49e996
add esp, 0xe8
ret
lea edi, [edx + 0x10]
call fcn.00449ce0
jmp 0x4a0af0
mov edx, dword [esp + 0xf8]
jmp 0x49e996
mov eax, dword [esp + 0x80]
mov dword [edi + 8], eax
lea eax, [0x4de5e0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00425370
ud2
mov eax, dword [esp + 0x80]
mov dword [edi + 8], eax
lea eax, [0x4de5e0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00425370
ud2
mov eax, dword [esp + 0x80]
mov dword [edi + 8], eax
lea eax, [0x4de5e0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00425370
ud2
mov eax, dword [esp + 0x80]
mov dword [edi + 8], eax
lea eax, [0x4de5e0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00425370
ud2
call fcn.00424590
ud2
call fcn.00424590
ud2
call fcn.00424590
ud2
call fcn.00424490
ud2
call fcn.00424590
ud2
call fcn.00424590
ud2
call fcn.00424590
ud2
call fcn.00424590
ud2
call fcn.00424590
ud2
call fcn.00424590
ud2
call fcn.00424590
ud2
call fcn.00424590
ud2
call fcn.00424590
ud2
call fcn.00424590
ud2
call fcn.00424590
ud2
call fcn.00424590
ud2
call fcn.00448580
jmp fcn.0049e950