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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x90]
cmp eax, dword [ecx + 8]
jbe 0x49f2e8
sub esp, 0x110
mov eax, dword [esp + 0x128]
test eax, eax
jle 0x49f26c
mov ecx, dword [esp + 0x120]
test ecx, ecx
jne 0x49f1a0
mov edx, dword [esp + 0x114]
mov dword [edx + 0xc], 0
mov ebx, dword [0x5d3b70]
lea ebp, [edx + 0x10]
test ebx, ebx
jne 0x49f176
mov dword [edx + 0x10], 0
mov dword [edx + 0x1c], ecx
mov ebx, dword [0x5d3b70]
lea ebp, [edx + 0x14]
lea esi, [edx + 0x18]
test ebx, ebx
jne 0x49f11a
mov ebx, dword [esp + 0x118]
mov dword [edx + 0x14], ebx
mov ebp, dword [esp + 0x11c]
mov dword [edx + 0x18], ebp
mov esi, ecx
and ecx, 0x1f
cmp ecx, 0x10
jbe 0x49ed49
cmp ecx, 0x15
ja 0x49e452
cmp ecx, 0x13
ja 0x49d982
cmp ecx, 0x11
jne 0x49d93d
mov dword [esp + 0x88], ecx
mov edi, dword [esp + 0x124]
cmp edi, 0x71
jg 0x49d926
cmp edi, 0x58
jne 0x49d918
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0048f130
mov eax, dword [esp + 0xc]
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x90], 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 0x49d1af
mov eax, dword [esp + 0x88]
cmp eax, 0x17
je 0x49d179
mov eax, dword [esp + 0x120]
test eax, 0x100
jne 0x49d0f9
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0048df80
mov eax, dword [esp + 0xc]
lea ecx, [0x500c80]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00436bf0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x68], edx
xor ebx, ebx
jmp 0x49d023
mov ebp, dword [esp + 0xa8]
mov byte [ebp + ecx], al
lea ebx, [ecx + 1]
mov eax, ebp
mov ecx, dword [esp + 0x6c]
cmp ebx, edx
jge 0x49d085
mov dword [esp + 0x54], ebx
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.0048d8b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0048f2b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x68]
cmp ecx, edx
jb 0x49d00f
jmp 0x49f28d
mov dword [esp + 0xa8], eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ecx
mov ebx, dword [esp + 0x8c]
mov ebx, dword [ebx + 0x80]
mov ebp, dword [esp + 0x90]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x114]
mov dword [esp], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x124]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
call fcn.0049b110
add esp, 0x110
ret
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0048df80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x120]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
call fcn.0048eda0
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.0048cc40
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
jmp 0x49d085
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 8], eax
call fcn.0048cc40
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
jmp 0x49d085
mov eax, dword [esp + 0x114]
movzx ecx, byte [eax + 0x2c]
test cl, cl
jne 0x49d459
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x49d3de
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x5b
xor ecx, ecx
jmp 0x49d253
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x120]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.0048d8b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x114]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x128]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.0049ce70
mov eax, dword [esp + 0x58]
lea ecx, [eax + 1]
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x120]
mov dword [esp + 8], ebx
call fcn.0048df80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x58]
cmp ecx, eax
jge 0x49d33c
test ecx, ecx
jle 0x49d1e3
mov eax, dword [esp + 0x114]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 4]
mov ebp, dword [eax]
lea esi, [ebx + 1]
cmp esi, edx
jg 0x49d2ba
lea edx, [ebx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ebx], 0x20
jmp 0x49d1e3
lea eax, [0x500c80]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.00436d70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x5d3b70]
test edx, edx
jne 0x49d30b
mov dword [ebx], eax
mov ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x58]
jmp 0x49d2aa
mov dword [esp + 0xd8], eax
mov dword [esp + 0x84], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d8c0
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x114]
jmp 0x49d2fa
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x49d363
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x5d
add esp, 0x110
ret
lea eax, [0x500c80]
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.00436d70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x5d3b70]
test edx, edx
jne 0x49d3ad
mov dword [ebx], eax
mov edx, ecx
mov ebp, eax
mov eax, ebx
mov ebx, ebp
jmp 0x49d352
mov dword [esp + 0xd4], eax
mov dword [esp + 0x80], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d8c0
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x114]
jmp 0x49d3a3
lea eax, [0x500c80]
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.00436d70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x5d3b70]
test edx, edx
jne 0x49d42e
mov dword [ebx], eax
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x114]
jmp 0x49d1d5
mov dword [esp + 0xd0], eax
mov dword [esp + 0x7c], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d8c0
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x114]
jmp 0x49d41e
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
call fcn.0048f130
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 + 0x114]
mov ebx, dword [edx + 4]
lea ebp, [eax + ebx]
mov dword [esp + 0x84], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x49d8bb
cmp ebp, edi
ja 0x49f286
mov dword [esp + 0x80], edi
mov dword [esp + 0xcc], esi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044a820
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x114]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x80]
mov dword [ecx + 8], eax
mov eax, dword [0x5d3b70]
test eax, eax
jne 0x49d89c
mov eax, dword [esp + 0xcc]
mov dword [ecx], eax
mov eax, dword [esp + 0x88]
cmp eax, 0x17
je 0x49d7b8
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 4]
mov ebx, dword [ecx]
lea ebp, [edx + 1]
cmp ebp, eax
jg 0x49d73d
lea eax, [edx + 1]
mov dword [ecx + 4], eax
mov byte [ebx + edx], 0x7b
xor eax, eax
jmp 0x49d5b4
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x120]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.0048d8b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x114]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x128]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.0049ce70
mov eax, dword [esp + 0x64]
inc eax
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x120]
mov dword [esp + 8], ebx
call fcn.0048df80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x64]
cmp ecx, eax
jge 0x49d6a3
test ecx, ecx
jle 0x49d546
mov eax, dword [esp + 0x114]
mov edx, dword [eax + 4]
lea ebx, [edx + 2]
mov ebp, dword [eax + 8]
mov esi, dword [eax]
cmp ebx, ebp
ja 0x49d651
cmp ebx, ebp
ja 0x49f278
movzx edi, word [0x51fa4c]
mov word [esi + edx], di
mov dword [eax + 4], ebx
mov dword [eax + 8], ebp
mov edx, dword [0x5d3b70]
test edx, edx
jne 0x49d635
mov dword [eax], esi
jmp 0x49d546
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.0040d8c0
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x64]
jmp 0x49d546
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], ebx
lea eax, [0x500c80]
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.00436d70
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x80]
jmp 0x49d60b
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x49d6c8
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x7d
jmp 0x49d35c
lea eax, [0x500c80]
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.00436d70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x5d3b70]
test edx, edx
jne 0x49d712
mov dword [ebx], eax
mov edx, ecx
mov ebp, eax
mov eax, ebx
mov ebx, ebp
jmp 0x49d6b9
mov dword [esp + 0xd4], eax
mov dword [esp + 0x7c], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d8c0
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x114]
jmp 0x49d708
lea ecx, [0x500c80]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebp
call fcn.00436d70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x5d3b70]
test edx, edx
jne 0x49d78d
mov dword [ebx], eax
mov edx, ecx
mov ebx, eax
mov ecx, dword [esp + 0x114]
jmp 0x49d538
mov dword [esp + 0xd0], eax
mov dword [esp + 0x78], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d8c0
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x114]
jmp 0x49d77d
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
call fcn.0048de40
movzx eax, byte [esp + 0xc]
test al, al
jne 0x49d7f2
mov ecx, dword [esp + 0x114]
jmp 0x49d525
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 4]
lea edx, [ecx + 5]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x49d84e
cmp edx, ebx
ja 0x49f27f
mov esi, dword [0x51fe57]
movzx edi, byte [0x51fe5b]
mov dword [ebp + ecx], esi
xchg edi, eax
mov byte [ebp + ecx + 4], al
xchg edi, eax
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov ecx, dword [0x5d3b70]
test ecx, ecx
jne 0x49d840
mov dword [eax], ebp
add esp, 0x110
ret
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040d8c0
jmp 0x49d839
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], edx
lea eax, [0x500c80]
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.00436d70
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
jmp 0x49d808
mov dword [esp], ecx
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], eax
call fcn.0040d8c0
mov ecx, dword [esp + 0x114]
jmp 0x49d515
mov dword [esp + 0x80], ebx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x94], ecx
lea eax, [0x500c80]
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.00436d70
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x84]
jmp 0x49d4ba
cmp edi, 0x71
je 0x49cf4b
jmp 0x49d1af
cmp edi, 0x73
je 0x49cf4b
cmp edi, 0x78
je 0x49cf4b
jmp 0x49d1af
lea eax, [ecx - 0x12]
cmp eax, 1
ja 0x49d969
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
call fcn.0049b960
jmp 0x49d35c
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.00499f50
jmp 0x49d35c
cmp ecx, 0x14
je 0x49e15e
movzx ecx, byte [edx + 0x2c]
test cl, cl
jne 0x49dece
mov ecx, dword [edx + 4]
lea edi, [ecx + 4]
mov eax, dword [edx + 8]
mov esi, dword [edx]
cmp edi, eax
ja 0x49de78
cmp edi, eax
ja 0x49f2c5
mov ebp, dword [0x51fdb0]
mov dword [esi + ecx], ebp
mov dword [edx + 4], edi
mov dword [edx + 8], eax
mov eax, dword [0x5d3b70]
test eax, eax
jne 0x49de59
mov dword [edx], esi
mov dword [esp], ebx
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 8], ecx
call fcn.0048e280
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x50], ecx
xor edx, edx
jmp 0x49daa4
lea edx, [ebx + 1]
mov dword [eax + 4], edx
mov byte [ecx + ebx], 0x3a
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x120]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0xc0]
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0xc4]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
call fcn.0048e0d0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x14], ecx
call fcn.0049ce70
mov eax, dword [esp + 0xc8]
add eax, 0xc
mov ecx, dword [esp + 0x5c]
lea edx, [ecx + 1]
mov ecx, dword [esp + 0x50]
cmp edx, ecx
jge 0x49dd26
mov dword [esp + 0x5c], edx
mov dword [esp + 0xc8], eax
mov ebx, dword [eax + 8]
mov dword [esp + 0x88], ebx
mov ebp, dword [eax + 4]
mov dword [esp + 0xc4], ebp
mov esi, dword [eax]
mov dword [esp + 0xc0], esi
test edx, edx
jle 0x49dd1a
mov edi, dword [esp + 0x114]
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x49dc7d
mov ecx, dword [edi + 4]
lea edx, [ecx + 2]
mov eax, dword [edi]
mov ebx, dword [edi + 8]
cmp edx, ebx
ja 0x49dc27
cmp edx, ebx
ja 0x49f2be
movzx ebp, word [0x51fa4c]
mov word [eax + ecx], bp
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x5d3b70]
test ecx, ecx
jne 0x49dc08
mov dword [edi], eax
mov dword [esp], edi
mov dword [esp + 4], esi
mov eax, dword [esp + 0xc4]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x124]
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x128]
lea ebp, [ebx + 1]
mov dword [esp + 0x84], ebp
mov dword [esp + 0x14], ebp
call fcn.0049ce70
mov eax, dword [esp + 0x114]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 4]
lea ebp, [ebx + 1]
cmp ebp, edx
jle 0x49da02
lea eax, [0x500c80]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.00436d70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x5d3b70]
test edx, edx
jne 0x49dbd7
mov dword [ebx], eax
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x114]
jmp 0x49da02
mov dword [esp + 0xd8], eax
mov dword [esp + 0x80], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d8c0
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x114]
jmp 0x49dbc7
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.0040d8c0
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0x114]
jmp 0x49db2b
mov dword [esp + 0x84], edx
mov dword [esp + 0x7c], ecx
lea ebp, [0x500c80]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00436d70
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x84]
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0x114]
jmp 0x49db02
mov ecx, dword [edi + 8]
mov edx, dword [edi + 4]
mov eax, dword [edi]
lea ebx, [edx + 1]
cmp ebx, ecx
jg 0x49dc9b
lea ecx, [edx + 1]
mov dword [edi + 4], ecx
mov byte [eax + edx], 0x20
jmp 0x49db2b
lea ebp, [0x500c80]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00436d70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x5d3b70]
test edx, edx
jne 0x49dcef
mov dword [ebx], eax
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0xc0]
mov edi, ebx
mov edx, ecx
jmp 0x49dc8c
mov dword [esp + 0xd4], eax
mov dword [esp + 0x78], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d8c0
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x114]
jmp 0x49dcdb
mov edi, dword [esp + 0x114]
jmp 0x49db2b
mov eax, dword [esp + 0x114]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x49ddc8
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov ebx, dword [eax + 8]
lea ebp, [ecx + 1]
cmp ebp, ebx
jg 0x49dd57
lea ebx, [ecx + 1]
mov dword [eax + 4], ebx
mov byte [edx + ecx], 0x7d
jmp 0x49d35c
lea eax, [0x500c80]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.00436d70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x5d3b70]
test edx, edx
jne 0x49dd9d
mov dword [ebx], eax
mov edx, eax
mov eax, ebx
jmp 0x49dd48
mov dword [esp + 0xd0], eax
mov dword [esp + 0x74], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d8c0
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x114]
jmp 0x49dd97
mov ecx, dword [eax + 8]
mov edx, dword [eax]
mov ebx, dword [eax + 4]
lea ebp, [ebx + 1]
cmp ebp, ecx
jg 0x49dde6
lea ecx, [ebx + 1]
mov dword [eax + 4], ecx
mov byte [edx + ebx], 0x5d
jmp 0x49d35c
lea eax, [0x500c80]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00436d70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x5d3b70]
test edx, edx
jne 0x49de2e
mov dword [ebx], eax
mov edx, eax
mov eax, ebx
mov ebx, ecx
jmp 0x49ddd7
mov dword [esp + 0xd0], eax
mov dword [esp + 0x74], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d8c0
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x114]
jmp 0x49de26
mov dword [esp], edx
mov dword [esp + 4], esi
call fcn.0040d8c0
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
jmp 0x49d9d1
mov dword [esp + 0x84], edi
mov dword [esp + 0x7c], ecx
lea edx, [0x500c80]
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
call fcn.00436d70
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
mov edi, dword [esp + 0x84]
jmp 0x49d9aa
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0048f130
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 edx, dword [esp + 0x114]
mov ebx, dword [edx + 4]
lea ebp, [ebx + ecx]
mov dword [esp + 0x84], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x49e107
cmp ebp, edi
ja 0x49f2d3
mov dword [esp + 0x7c], edi
mov dword [esp + 0xbc], esi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044a820
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x114]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [ecx + 8], eax
mov eax, dword [0x5d3b70]
test eax, eax
jne 0x49e0ef
mov eax, dword [esp + 0xbc]
mov dword [ecx], eax
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
call fcn.0048de40
movzx eax, byte [esp + 0xc]
test al, al
jne 0x49e045
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x49dfcd
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x7b
mov ebx, dword [esp + 0x118]
jmp 0x49d9d1
lea eax, [0x500c80]
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.00436d70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x5d3b70]
test edx, edx
jne 0x49e01a
mov dword [ebx], eax
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x114]
jmp 0x49dfb7
mov dword [esp + 0xb8], eax
mov dword [esp + 0x70], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d8c0
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x114]
jmp 0x49e00d
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 4]
lea edx, [ecx + 5]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x49e0a1
cmp edx, ebx
ja 0x49f2cc
mov esi, dword [0x51fe57]
movzx edi, byte [0x51fe5b]
mov dword [ebp + ecx], esi
xchg edi, eax
mov byte [ebp + ecx + 4], al
xchg edi, eax
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov ecx, dword [0x5d3b70]
test ecx, ecx
jne 0x49e093
mov dword [eax], ebp
add esp, 0x110
ret
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040d8c0
jmp 0x49e08c
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], edx
lea eax, [0x500c80]
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.00436d70
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
jmp 0x49e05b
mov dword [esp], ecx
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
call fcn.0040d8c0
jmp 0x49df6f
mov dword [esp + 0x9c], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x7c], ebx
lea eax, [0x500c80]
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.00436d70
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x84]
jmp 0x49df1a
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0048d530
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x49e41b
mov eax, dword [esp + 0x114]
movzx ecx, byte [eax + 0x2c]
test cl, cl
jne 0x49e239
mov ecx, dword [eax + 4]
lea edx, [ecx + 5]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x49e1eb
cmp edx, ebx
ja 0x49f294
movzx esi, byte [0x51fea6]
mov edi, dword [0x51fea2]
mov dword [ebp + ecx], edi
xchg esi, eax
mov byte [ebp + ecx + 4], al
xchg esi, eax
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov ecx, dword [0x5d3b70]
test ecx, ecx
jne 0x49e1da
mov dword [eax], ebp
jmp 0x49d35c
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040d8c0
jmp 0x49d35c
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], ecx
lea eax, [0x500c80]
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.00436d70
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
jmp 0x49e1a4
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 8], eax
call fcn.0048f130
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 + 0x114]
mov ebx, dword [edx + 4]
lea ebp, [eax + ebx]
mov dword [esp + 0x84], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x49e3be
cmp ebp, edi
ja 0x49f2a2
mov dword [esp + 0xcc], esi
mov dword [esp + 0x80], edi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044a820
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x114]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x80]
mov dword [ecx + 8], eax
mov eax, dword [0x5d3b70]
test eax, eax
jne 0x49e398
mov eax, dword [esp + 0xcc]
mov dword [ecx], eax
mov edx, dword [ecx + 4]
lea ebx, [edx + 5]
mov ebp, dword [ecx + 8]
cmp ebx, ebp
ja 0x49e34a
cmp ebx, ebp
ja 0x49f29b
mov esi, dword [0x51fe57]
movzx edi, byte [0x51fe5b]
mov dword [eax + edx], esi
xchg edi, ebx
mov byte [eax + edx + 4], bl
xchg edi, ebx
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebp
mov edx, dword [0x5d3b70]
test edx, edx
jne 0x49e339
mov dword [ecx], eax
jmp 0x49d35c
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040d8c0
jmp 0x49d35c
mov dword [esp + 0x84], ebx
mov dword [esp + 0x80], edx
lea ecx, [0x500c80]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00436d70
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
jmp 0x49e302
mov dword [esp], ecx
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], eax
call fcn.0040d8c0
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x114]
jmp 0x49e2f5
mov dword [esp + 0x80], ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x98], ecx
lea eax, [0x500c80]
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.00436d70
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x84]
jmp 0x49e29a
mov ebx, dword [esp + 0x114]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x128]
inc eax
mov dword [esp + 0x14], eax
call fcn.0049ce70
jmp 0x49d35c
cmp ecx, 0x17
ja 0x49e623
cmp ecx, 0x16
jne 0x49cf2b
test eax, eax
jne 0x49d945
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0048e640
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x49e4a5
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
mov esi, dword [esp + 0x120]
jmp 0x49d945
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
call fcn.0048d530
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 0x49e60f
cmp eax, 0x11
jne 0x49e5e5
mov dword [esp + 0x88], ebx
mov eax, dword [esp + 0x114]
mov ebp, dword [eax + 8]
mov esi, dword [eax + 4]
mov edi, dword [eax]
lea ebx, [esi + 1]
cmp ebx, ebp
jg 0x49e54d
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 + 0x88]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x128]
inc eax
mov dword [esp + 0x14], eax
call fcn.0049ce70
add esp, 0x110
ret
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc0], edx
lea eax, [0x500c80]
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.00436d70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x5d3b70]
test edx, edx
jne 0x49e5b4
mov dword [ebx], eax
mov edx, dword [esp + 0xc0]
mov esi, ecx
mov edi, eax
mov eax, ebx
mov ecx, dword [esp + 0xc4]
jmp 0x49e50a
mov dword [esp + 0xd8], eax
mov dword [esp + 0x84], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d8c0
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x114]
jmp 0x49e59b
cmp eax, 0x15
je 0x49e4ed
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
mov esi, dword [esp + 0x120]
jmp 0x49d945
cmp eax, 0x17
je 0x49e4ed
cmp eax, 0x19
je 0x49e4ed
jmp 0x49e5ee
cmp ecx, 0x18
je 0x49ed0a
cmp ecx, 0x19
jne 0x49ecfc
movzx ecx, byte [edx + 0x2c]
test cl, cl
jne 0x49ebc9
mov ecx, dword [edx + 4]
mov edi, dword [edx]
mov eax, dword [edx + 8]
lea esi, [ecx + 1]
cmp esi, eax
jg 0x49eb41
lea eax, [ecx + 1]
mov dword [edx + 4], eax
mov byte [edi + ecx], 0x7b
lea eax, [esp + 8]
mov dword [esp + 0xb4], eax
xor ecx, ecx
jmp 0x49e6f2
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0xc], ebx
call fcn.00499dc0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x114]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x128]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.0049ce70
mov eax, dword [esp + 0x60]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
mov dword [esp + 0x60], ecx
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x120]
mov dword [esp + 8], eax
call fcn.0048e600
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x60]
cmp ecx, eax
jge 0x49eaa9
test ecx, ecx
jle 0x49ea9d
mov eax, dword [esp + 0x114]
movzx edx, byte [eax + 0x2c]
test dl, dl
je 0x49ea02
mov edx, dword [eax + 4]
lea ebx, [edx + 2]
mov ebp, dword [eax + 8]
mov esi, dword [eax]
cmp ebx, ebp
ja 0x49e9b0
cmp ebx, ebp
ja 0x49f2b0
movzx edi, word [0x51fa4c]
mov word [esi + edx], di
mov dword [eax + 4], ebx
mov dword [eax + 8], ebp
mov edx, dword [0x5d3b70]
test edx, edx
jne 0x49e994
mov dword [eax], esi
movzx edx, byte [eax + 0x2b]
test dl, dl
je 0x49e983
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
call fcn.0048f130
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 + 0xdc]
mov esi, dword [esp + 0xb4]
call fcn.0044a5ae
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xdc]
test eax, eax
je 0x49e977
mov edx, dword [esp + 0x114]
mov ebx, dword [edx + 4]
lea ebp, [eax + ebx]
mov dword [esp + 0x84], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x49e91a
cmp ebp, edi
ja 0x49f2a9
mov dword [esp + 0x80], edi
mov dword [esp + 0xcc], esi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044a820
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x114]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x80]
mov dword [ecx + 8], eax
mov eax, dword [0x5d3b70]
test eax, eax
jne 0x49e8f4
mov eax, dword [esp + 0xcc]
mov dword [ecx], eax
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
lea ebp, [ebx + 1]
cmp ebp, edx
jg 0x49e87e
lea edx, [ebx + 1]
mov dword [ecx + 4], edx
mov byte [eax + ebx], 0x3a
jmp 0x49e670
lea ecx, [0x500c80]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.00436d70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x5d3b70]
test edx, edx
jne 0x49e8c9
mov dword [ebx], eax
mov ebx, ecx
mov ecx, dword [esp + 0x114]
jmp 0x49e86f
mov dword [esp + 0xd4], eax
mov dword [esp + 0x7c], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d8c0
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x114]
jmp 0x49e8be
mov dword [esp], ecx
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], eax
call fcn.0040d8c0
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x114]
jmp 0x49e862
mov dword [esp + 0x80], ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0xa0], ecx
lea eax, [0x500c80]
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.00436d70
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x84]
jmp 0x49e807
mov ecx, dword [esp + 0x114]
jmp 0x49e670
movzx edx, byte [eax + 0x2c]
test dl, dl
jne 0x49e780
jmp 0x49e670
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.0040d8c0
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x60]
jmp 0x49e774
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], ebx
lea eax, [0x500c80]
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.00436d70
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x80]
jmp 0x49e74b
mov edx, dword [eax + 8]
mov ebx, dword [eax + 4]
mov ebp, dword [eax]
lea esi, [ebx + 1]
cmp esi, edx
jg 0x49ea21
lea edx, [ebx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ebx], 0x20
jmp 0x49e774
lea eax, [0x500c80]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.00436d70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x5d3b70]
test edx, edx
jne 0x49ea72
mov dword [ebx], eax
mov ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x60]
jmp 0x49ea11
mov dword [esp + 0xd0], eax
mov dword [esp + 0x78], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d8c0
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x114]
jmp 0x49ea61
mov eax, dword [esp + 0x114]
jmp 0x49e774
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 8]
mov edx, dword [eax]
mov ebx, dword [eax + 4]
lea ebp, [ebx + 1]
cmp ebp, ecx
jg 0x49eace
lea ecx, [ebx + 1]
mov dword [eax + 4], ecx
mov byte [edx + ebx], 0x7d
jmp 0x49d35c
lea eax, [0x500c80]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00436d70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x5d3b70]
test edx, edx
jne 0x49eb16
mov dword [ebx], eax
mov edx, eax
mov eax, ebx
mov ebx, ecx
jmp 0x49eabf
mov dword [esp + 0xb8], eax
mov dword [esp + 0x74], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d8c0
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x114]
jmp 0x49eb0e
lea edx, [0x500c80]
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], esi
call fcn.00436d70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x5d3b70]
test edx, edx
jne 0x49eb98
mov dword [ebx], eax
mov edx, ebx
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
mov edi, eax
jmp 0x49e654
mov dword [esp + 0xd8], eax
mov dword [esp + 0x84], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d8c0
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x114]
jmp 0x49eb81
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0048f130
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 + 0x114]
mov ebx, dword [edx + 4]
lea ebp, [ebx + eax]
mov dword [esp + 0x80], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x49eca5
cmp ebp, esi
ja 0x49f2b7
mov dword [esp + 0x70], 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.0044a820
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x114]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x70]
mov dword [ecx + 8], eax
mov eax, dword [0x5d3b70]
test eax, eax
jne 0x49ec89
mov eax, dword [esp + 0xb0]
mov dword [ecx], eax
mov eax, dword [esp + 0x128]
mov edx, ecx
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
mov esi, dword [esp + 0x120]
jmp 0x49e641
mov dword [esp], ecx
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
call fcn.0040d8c0
mov ecx, dword [esp + 0x114]
jmp 0x49ec66
mov dword [esp + 0x3c], eax
mov dword [esp + 0x70], ebx
mov dword [esp + 0xa4], ecx
lea eax, [0x500c80]
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.00436d70
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x80]
jmp 0x49ec15
cmp ecx, 0x1a
je 0x49d945
jmp 0x49d969
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0048f040
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x114]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x124]
mov dword [esp + 0xc], eax
call fcn.0049afa0
jmp 0x49d35c
cmp ecx, 0xc
ja 0x49efe3
cmp ecx, 1
ja 0x49ef47
test esi, 0x1f
jne 0x49ef0f
test eax, eax
jne 0x49ee49
mov eax, dword [edx + 4]
lea ecx, [eax + 0x17]
mov dword [esp + 0x84], ecx
mov ebx, dword [edx + 8]
mov ebp, dword [edx]
cmp ecx, ebx
ja 0x49ee02
cmp ecx, ebx
ja 0x49f2e1
mov dword [esp + 0xcc], ebp
mov dword [esp + 0x80], ebx
add eax, ebp
mov dword [esp], eax
lea eax, [0x524d68]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
call fcn.0044a820
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x114]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x80]
mov dword [ecx + 8], eax
mov eax, dword [0x5d3b70]
test eax, eax
jne 0x49edea
mov eax, dword [esp + 0xcc]
mov dword [ecx], eax
jmp 0x49d35c
mov dword [esp], ecx
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], eax
call fcn.0040d8c0
jmp 0x49d35c
mov dword [esp + 0x80], eax
lea edx, [0x500c80]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00436d70
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x114]
jmp 0x49ed85
mov eax, dword [esp + 0x124]
cmp eax, 0x76
jne 0x49eefe
mov eax, dword [edx + 4]
lea ecx, [eax + 5]
mov ebx, dword [edx]
mov ebp, dword [edx + 8]
cmp ecx, ebp
ja 0x49eeb0
cmp ecx, ebp
ja 0x49f2da
mov esi, dword [0x51fea2]
movzx edi, byte [0x51fea6]
mov dword [ebx + eax], esi
xchg edi, ecx
mov byte [ebx + eax + 4], cl
xchg edi, ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], ebp
mov eax, dword [0x5d3b70]
test eax, eax
jne 0x49ee9f
mov dword [edx], ebx
jmp 0x49d35c
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.0040d8c0
jmp 0x49d35c
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], eax
lea edx, [0x500c80]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00436d70
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x114]
jmp 0x49ee68
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0049a230
jmp 0x49d35c
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0048cc00
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x114]
mov dword [esp], ecx
mov byte [esp + 4], al
mov eax, dword [esp + 0x124]
mov dword [esp + 8], eax
call fcn.0049a840
jmp 0x49d35c
lea eax, [ecx - 2]
cmp eax, 4
jbe 0x49ef9f
lea eax, [ecx - 7]
cmp eax, 5
ja 0x49d969
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0048f2b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x114]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov byte [esp + 0xc], 0
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
call fcn.0049a920
jmp 0x49d35c
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0048da90
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x114]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 1
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
call fcn.0049a920
jmp 0x49d35c
cmp ecx, 0xe
ja 0x49f077
cmp ecx, 0xd
jne 0x49f034
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0048d7e0
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp + 0x114]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x20
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
call fcn.0049ac40
jmp 0x49d35c
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0048d7e0
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp + 0x114]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x40
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
call fcn.0049ac40
jmp 0x49d35c
cmp ecx, 0xf
jne 0x49f0cb
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0048d450
movsd xmm0, qword [esp + 0xc]
movsd xmm1, qword [esp + 0x14]
mov eax, dword [esp + 0x114]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
movsd qword [esp + 0xc], xmm1
mov dword [esp + 0x14], 0x40
mov eax, dword [esp + 0x124]
mov dword [esp + 0x18], eax
call fcn.0049ada0
jmp 0x49d35c
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0048d450
movsd xmm0, qword [esp + 0x14]
movsd xmm1, qword [esp + 0xc]
mov eax, dword [esp + 0x114]
mov dword [esp], eax
movsd qword [esp + 4], xmm1
movsd qword [esp + 0xc], xmm0
mov dword [esp + 0x14], pe_nt_image_headers32
mov eax, dword [esp + 0x124]
mov dword [esp + 0x18], eax
call fcn.0049ada0
jmp 0x49d35c
mov dword [esp + 0xac], esi
mov dword [esp], ebp
mov eax, dword [esp + 0x118]
mov dword [esp + 4], eax
call fcn.0040d8c0
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
call fcn.0040d8c0
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
jmp 0x49cf02
mov dword [esp], ebp
mov dword [esp + 4], 0
call fcn.0040d8c0
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x114]
jmp 0x49ced7
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0048dbb0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x49f1da
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x120]
jmp 0x49ceb1
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
call fcn.0048dc50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x114]
mov dword [edx + 0xc], ecx
mov ecx, dword [0x5d3b70]
lea ebx, [edx + 0x10]
test ecx, ecx
jne 0x49f257
mov dword [edx + 0x10], eax
mov dword [esp], edx
mov eax, dword [esp + 0x124]
mov dword [esp + 4], eax
call fcn.0049c1f0
movzx eax, byte [esp + 8]
test al, al
jne 0x49f250
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x120]
jmp 0x49ceb1
add esp, 0x110
ret
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d8c0
mov edx, dword [esp + 0x114]
jmp 0x49f221
mov ecx, dword [esp + 0x120]
jmp 0x49ceb1
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.00424360
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004486e0
jmp fcn.0049ce70