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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x164
mov byte [esp + 0x1b], 0
mov esi, ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, ecx
sub edx, eax
cmp edx, 1
ja 0x50498b
mov byte [esp + 0x1b], 0
xor ebp, ebp
jmp case.0x5049cb.58
mov dl, byte [eax]
cmp dl, 0x67
jne 0x5049b5
cmp byte [eax + 1], 0x73
jne 0x5049b5
add eax, 2
mov edx, ecx
xor ebp, ebp
sub edx, eax
mov dword [esi], eax
mov byte [esp + 0x1b], 1
cmp edx, 2
jb case.0x5049cb.58
mov dl, byte [eax]
jmp 0x5049ba
mov byte [esp + 0x1b], 0
movsx edx, dl
xor ebp, ebp
add edx, 0xffffffcf
cmp edx, 0x43
ja case.0x5049cb.58
jmp dword [edx*4 + 0x53863c]
mov ecx, esi
call 0x507cf0
jmp 0x50598a
movsx ecx, byte [eax + 1]
add ecx, 0xffffffaa
cmp ecx, 0x20
ja case.0x5049cb.58
jmp dword [ecx*4 + 0x538b84]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x114], 0x539949
mov dword [esp + 0x118], 0x53994b
movsd xmm0, qword [esp + 0x114]
jmp 0x50597e
movsx ecx, byte [eax + 1]
add ecx, 0xffffff9b
cmp ecx, 0x12
ja case.0x5049cb.58
jmp dword [ecx*4 + 0x53874c]
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00504960
jmp 0x505186
movsx edx, byte [eax + 1]
cmp edx, 0x6c
je 0x504e81
cmp edx, 0x78
jne case.0x5049cb.58
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00504960
test eax, eax
mov dword [esp + 0xc], eax
je 0x505a9f
mov ecx, esi
call fcn.00504960
test eax, eax
mov dword [esp + 0x14], eax
je 0x505a9f
lea eax, [esp + 0x14]
lea edx, [esp + 0xc]
mov ecx, esi
mov dword [esp], eax
call 0x5084f0
jmp 0x50598a
movsx ecx, byte [eax + 1]
add ecx, 0xffffff9f
cmp ecx, 0x17
ja case.0x5049cb.58
jmp dword [ecx*4 + 0x538a08]
mov ecx, esi
call 0x5088c0
jmp 0x50598a
sub ecx, eax
cmp ecx, 2
jb 0x504f83
mov dl, byte [eax + 1]
cmp dl, 0x70
jne 0x504f69
mov ecx, esi
call 0x506f80
jmp 0x50598a
movsx ecx, byte [eax + 1]
add ecx, 0xffffff9d
cmp ecx, 0x13
ja case.0x5049cb.58
jmp dword [ecx*4 + 0x538c08]
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00500510
test eax, eax
mov dword [esp + 0xc], eax
je 0x505a9f
mov ecx, esi
call fcn.00504960
test eax, eax
mov dword [esp + 0x14], eax
je 0x505a9f
lea eax, [esp + 0x14]
lea edx, [esp + 0xc]
mov ecx, esi
mov dword [esp], eax
call 0x507700
jmp 0x50598a
movsx ecx, byte [eax + 1]
cmp ecx, 0x4f
je 0x504f8f
cmp ecx, 0x71
je 0x504fb8
cmp ecx, 0x6f
jne case.0x5049cb.58
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x10c], 0x53994c
mov dword [esp + 0x110], 0x53994d
movsd xmm0, qword [esp + 0x10c]
jmp 0x50597e
movsx ecx, byte [eax + 1]
cmp ecx, 0x74
je 0x504f40
cmp ecx, 0x65
jne case.0x5049cb.58
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xf4], 0x539954
mov dword [esp + 0xf8], 0x539956
movsd xmm0, qword [esp + 0xf4]
jmp 0x50597e
mov ecx, esi
call 0x505b50
jmp 0x50598a
mov ecx, esi
call fcn.005038b0
jmp 0x50598a
movsx ecx, byte [eax + 1]
add ecx, 0xffffffad
cmp ecx, 0x21
ja case.0x5049cb.58
jmp dword [ecx*4 + 0x538afc]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xd4], 0x53995f
mov dword [esp + 0xd8], 0x539962
movsd xmm0, qword [esp + 0xd4]
jmp 0x50597e
movsx ecx, byte [eax + 1]
add ecx, 0xffffffae
cmp ecx, 0x20
ja case.0x5049cb.58
jmp dword [ecx*4 + 0x538984]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x74], 0x539985
mov dword [esp + 0x78], 0x539987
movsd xmm0, qword [esp + 0x74]
jmp 0x50597e
movsx ecx, byte [eax + 1]
add ecx, 0xffffffb2
cmp ecx, 0x2c
ja case.0x5049cb.58
jmp dword [ecx*4 + 0x538c58]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x144], 0x539915
mov dword [esp + 0x148], 0x539917
movsd xmm0, qword [esp + 0x144]
jmp 0x50597e
movsx edx, byte [eax + 1]
add edx, 0xffffffb0
cmp edx, 0x2a
ja case.0x5049cb.58
jmp dword [edx*4 + 0x538798]
add eax, 2
lea edi, [esi + 0x14]
mov dword [esi], eax
mov dword [esp + 0x20], edi
mov edx, dword [esi + 0xc]
sub edx, dword [esi + 8]
sar edx, 2
mov dword [esp + 0x24], edx
jmp 0x504e17
cmp byte [eax + 1], 0x75
jne case.0x5049cb.58
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00504960
test eax, eax
mov dword [esp + 0xc], eax
je 0x505a9f
mov ecx, esi
call fcn.00504960
test eax, eax
mov dword [esp + 0x14], eax
je 0x505a9f
mov ecx, esi
call fcn.00504960
test eax, eax
mov dword [esp + 0x28], eax
je 0x505a9f
lea eax, [esp + 0x28]
lea edx, [esp + 0xc]
mov ecx, esi
mov dword [esp + 4], eax
lea eax, [esp + 0x14]
mov dword [esp], eax
call fcn.00508d10
jmp 0x50598a
movsx edx, byte [eax + 1]
add edx, 0xffffffb4
cmp edx, 0x28
ja case.0x5049cb.58
jmp dword [edx*4 + 0x5388e0]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x5c], 0x53998e
mov dword [esp + 0x60], 0x539990
movsd xmm0, qword [esp + 0x5c]
jmp 0x50597e
movsx edx, byte [eax + 1]
add edx, 0xffffffb7
cmp edx, 0x24
ja case.0x5049cb.58
jmp dword [edx*4 + 0x538a68]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xbc], 0x539967
mov dword [esp + 0xc0], 0x539969
movsd xmm0, qword [esp + 0xbc]
jmp 0x50597e
movsx ecx, byte [eax + 1]
add ecx, 0xffffffb3
cmp ecx, 0x26
ja case.0x5049cb.58
jmp dword [ecx*4 + 0x538844]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x3c], 0x5399aa
mov dword [esp + 0x40], 0x5399ac
movsd xmm0, qword [esp + 0x3c]
jmp 0x50597e
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
mov ebp, eax
test eax, eax
mov dword [esi + 8], eax
je 0x505aa6
lea eax, [ebp + edi]
sar edi, 1
lea ecx, [ebp + edi*4]
mov edi, eax
xor ebp, ebp
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ecx
lea eax, [edi + 4]
mov dword [esi + 0xc], eax
mov dword [edi], ebx
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x504e24
cmp byte [eax], 0x45
je 0x5059c0
mov ecx, esi
call fcn.00502210
test eax, eax
je case.0x5049cb.58
mov edi, dword [esi + 0xc]
mov ebx, eax
cmp edi, dword [esi + 0x10]
jne 0x504e0a
mov ecx, dword [esi + 8]
sub edi, ecx
cmp dword [esp + 0x20], ecx
lea eax, [edi + edi]
jne 0x504ddd
mov dword [esp + 0x1c], ecx
mov dword [esp], eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x505aa6
mov ebp, eax
test edi, edi
je 0x504e79
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], edi
mov dword [esp], ebp
mov dword [esp + 4], eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
mov dword [esi + 8], ebp
jmp 0x504df6
add eax, 2
lea edi, [esi + 0x14]
mov dword [esi], eax
mov dword [esp + 0x20], edi
mov edx, dword [esi + 0xc]
sub edx, dword [esi + 8]
sar edx, 2
mov dword [esp + 0x24], edx
jmp 0x504ed6
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
mov ebp, eax
test eax, eax
mov dword [esi + 8], eax
je 0x505aa6
lea eax, [ebp + edi]
sar edi, 1
lea ecx, [ebp + edi*4]
mov edi, eax
xor ebp, ebp
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ecx
lea eax, [edi + 4]
mov dword [esi + 0xc], eax
mov dword [edi], ebx
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x504ee3
cmp byte [eax], 0x45
je 0x5055d3
mov ecx, esi
call 0x508570
test eax, eax
je case.0x5049cb.58
mov edi, dword [esi + 0xc]
mov ebx, eax
cmp edi, dword [esi + 0x10]
jne 0x504ec9
mov ecx, dword [esi + 8]
sub edi, ecx
cmp dword [esp + 0x20], ecx
lea eax, [edi + edi]
jne 0x504e9c
mov dword [esp + 0x1c], ecx
mov dword [esp], eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x505aa6
mov ebp, eax
test edi, edi
je 0x504f38
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], edi
mov dword [esp], ebp
mov dword [esp + 4], eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
mov dword [esi + 8], ebp
jmp 0x504eb5
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xec], 0x539957
mov dword [esp + 0xf0], 0x539958
movsd xmm0, qword [esp + 0xec]
jmp 0x50597e
cmp ecx, 3
jb 0x504f83
cmp dl, 0x4c
jne 0x504f83
movsx eax, byte [eax + 2]
add eax, 0xffffffd0
cmp eax, 9
jbe 0x504ad8
mov ecx, esi
call 0x507190
jmp 0x50598a
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x104], 0x53994e
mov dword [esp + 0x108], 0x539950
movsd xmm0, qword [esp + 0x104]
jmp 0x50597e
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xfc], 0x539951
mov dword [esp + 0x100], 0x539953
movsd xmm0, qword [esp + 0xfc]
jmp 0x50597e
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xdc], 0x53995c
mov dword [esp + 0xe0], 0x53995e
movsd xmm0, qword [esp + 0xdc]
jmp 0x50597e
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x84], 0x539980
mov dword [esp + 0x88], 0x539982
movsd xmm0, qword [esp + 0x84]
jmp 0x50597e
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xe4], 0x539959
mov dword [esp + 0xe8], 0x53995b
movsd xmm0, qword [esp + 0xe4]
jmp 0x50597e
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xcc], 0x539963
mov dword [esp + 0xd0], 0x539964
movsd xmm0, qword [esp + 0xcc]
jmp 0x50597e
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x7c], 0x539983
mov dword [esp + 0x80], 0x539984
movsd xmm0, qword [esp + 0x7c]
jmp 0x50597e
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00500510
xor ebp, ebp
test eax, eax
mov dword [esp + 0x14], eax
je case.0x5049cb.58
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0x14]
mov dword [esp + 0x20], ecx
sub eax, dword [esi + 8]
sar eax, 2
mov dword [esp + 0x24], eax
jmp 0x50510d
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
mov ebp, eax
test eax, eax
mov dword [esi + 8], eax
je 0x505aa6
lea eax, [ebp + edi]
sar edi, 1
lea ecx, [ebp + edi*4]
mov edi, eax
xor ebp, ebp
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ecx
lea eax, [edi + 4]
mov dword [esi + 0xc], eax
mov dword [edi], ebx
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x50511d
cmp byte [eax], 0x45
je 0x5059fe
mov ecx, esi
call 0x508570
test eax, eax
je case.0x5049cb.58
mov edi, dword [esi + 0xc]
mov ebx, eax
cmp edi, dword [esi + 0x10]
jne 0x505105
mov ecx, dword [esi + 8]
sub edi, ecx
cmp dword [esp + 0x20], ecx
lea eax, [edi + edi]
jne 0x5050d8
mov dword [esp + 0x1c], ecx
mov dword [esp], eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x505aa6
mov ebp, eax
test edi, edi
je 0x505172
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], edi
mov dword [esp], ebp
mov dword [esp + 4], eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
mov dword [esi + 8], ebp
jmp 0x5050f1
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00500510
test eax, eax
mov dword [esp + 0xc], eax
je 0x505a9f
lea eax, [esp + 0xc]
mov ecx, esi
mov edx, str.typeid__
jmp 0x505769
add eax, 2
mov ecx, esi
mov edx, 0x5399de
mov dword [esi], eax
call fcn.005091e0
jmp 0x50598a
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00504960
test eax, eax
mov dword [esp + 0xc], eax
je 0x505a9f
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.00509260
jmp 0x50598a
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x134], 0x53992f
mov dword [esp + 0x138], 0x539930
movsd xmm0, qword [esp + 0x134]
jmp 0x50597e
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00504960
xor ebp, ebp
test eax, eax
mov dword [esp + 0x14], eax
je case.0x5049cb.58
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0x14]
mov dword [esp + 0x20], ecx
sub eax, dword [esi + 8]
sar eax, 2
mov dword [esp + 0x1c], eax
jmp 0x505269
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
test eax, eax
mov dword [esi + 8], eax
je 0x505aa6
lea edx, [eax + ebp]
sar ebp, 1
lea ecx, [eax + ebp*4]
mov ebp, edx
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], ecx
lea eax, [ebp + 4]
mov dword [esi + 0xc], eax
mov dword [ebp], ebx
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x505279
cmp byte [eax], 0x45
je 0x505a3f
mov ecx, esi
call fcn.00504960
test eax, eax
je 0x505a9f
mov ebp, dword [esi + 0xc]
mov ebx, eax
cmp ebp, dword [esi + 0x10]
jne 0x505260
mov edi, dword [esi + 8]
sub ebp, edi
cmp dword [esp + 0x20], edi
lea eax, [ebp + ebp]
jne 0x505239
mov dword [esp], eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x505aa6
test ebp, ebp
je 0x5052c9
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp], eax
mov edi, eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
mov eax, edi
mov dword [esi + 8], eax
jmp 0x505250
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x12c], 0x539931
mov dword [esp + 0x130], 0x539932
movsd xmm0, qword [esp + 0x12c]
jmp 0x505887
mov ecx, esi
call 0x507820
jmp 0x50598a
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xac], 0x53996a
mov dword [esp + 0xb0], 0x53996c
movsd xmm0, qword [esp + 0xac]
jmp 0x50597e
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xc4], 0x539965
mov dword [esp + 0xc8], 0x539966
movsd xmm0, qword [esp + 0xc4]
jmp 0x50597e
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00500510
test eax, eax
mov dword [esp + 0xc], eax
je 0x505a9f
mov ecx, esi
call fcn.00504960
test eax, eax
mov dword [esp + 0x14], eax
je 0x505a9f
lea eax, [esp + 0x14]
lea edx, [esp + 0xc]
mov ecx, esi
mov dword [esp], eax
call fcn.00508da0
jmp 0x50598a
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xb4], 0x539940
mov dword [esp + 0xb8], 0x539941
movsd xmm0, qword [esp + 0xb4]
jmp 0x50597e
lea edx, [eax + 2]
cmp edx, ecx
mov dword [esi], edx
je 0x5057e0
cmp byte [edx], 0x5f
jne 0x5057e0
add eax, 3
mov dword [esi], eax
mov dword [esp + 0xa4], 0x53996d
mov dword [esp + 0xa8], 0x53996f
movsd xmm0, qword [esp + 0xa4]
jmp 0x505887
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x2c], 0x5399b0
mov dword [esp + 0x30], 0x5399b3
movsd xmm0, qword [esp + 0x2c]
jmp 0x50597e
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x44], 0x5399a8
mov dword [esp + 0x48], 0x5399a9
movsd xmm0, qword [esp + 0x44]
jmp 0x50597e
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x34], 0x5399ad
mov dword [esp + 0x38], 0x5399af
movsd xmm0, qword [esp + 0x34]
jmp 0x50597e
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x9c], 0x539970
mov dword [esp + 0xa0], 0x539972
movsd xmm0, qword [esp + 0x9c]
jmp 0x50597e
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00504960
test eax, eax
mov dword [esp + 0xc], eax
je 0x505a9f
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.00508c80
jmp 0x50598a
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x94], 0x539965
mov dword [esp + 0x98], 0x539966
movsd xmm0, qword [esp + 0x94]
jmp 0x505887
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x8c], 0x539973
mov dword [esp + 0x90], 0x539974
movsd xmm0, qword [esp + 0x8c]
jmp 0x505887
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x64], 0x53998c
mov dword [esp + 0x68], 0x53998d
movsd xmm0, qword [esp + 0x64]
jmp 0x50597e
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x6c], 0x539988
mov dword [esp + 0x70], 0x53998b
movsd xmm0, qword [esp + 0x6c]
jmp 0x50597e
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00504960
test eax, eax
mov dword [esp + 0xc], eax
je 0x505a9f
mov ecx, esi
call fcn.00504960
test eax, eax
mov dword [esp + 0x14], eax
je 0x505a9f
lea eax, [esp + 0x14]
mov dword [esp], 0x539994
jmp 0x50590a
lea edx, [eax + 2]
cmp edx, ecx
mov dword [esi], edx
je 0x505999
cmp byte [edx], 0x5f
jne 0x505999
add eax, 3
mov dword [esi], eax
mov dword [esp + 0x54], 0x539991
mov dword [esp + 0x58], 0x539993
movsd xmm0, qword [esp + 0x54]
jmp 0x505887
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x4c], 0x53998c
mov dword [esp + 0x50], 0x53998d
movsd xmm0, qword [esp + 0x4c]
jmp 0x505887
inc eax
mov edi, dword [esp + 0x24]
mov ecx, esi
mov dword [esi], eax
mov edx, dword [esi + 8]
mov eax, dword [esi + 0xc]
shl edi, 2
add edx, edi
mov dword [esp], eax
call fcn.0050ae60
add edi, dword [esi + 8]
mov ecx, esi
mov dword [esi + 0xc], edi
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
lea edx, [esp + 0x14]
mov dword [esp], eax
call 0x5087b0
jmp 0x50598a
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x13c], 0x539918
mov dword [esp + 0x140], 0x539919
movsd xmm0, qword [esp + 0x13c]
jmp 0x50597e
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x15c], 0x539910
mov dword [esp + 0x160], 0x539912
movsd xmm0, qword [esp + 0x15c]
jmp 0x50597e
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x154], 0x539913
mov dword [esp + 0x158], 0x539914
movsd xmm0, qword [esp + 0x154]
jmp 0x505887
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x14c], 0x539913
mov dword [esp + 0x150], 0x539914
movsd xmm0, qword [esp + 0x14c]
jmp 0x50597e
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00500510
jmp 0x5056d2
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00504960
test eax, eax
mov dword [esp + 0xc], eax
je 0x505a9f
lea eax, [esp + 0xc]
mov ecx, esi
mov edx, str.alignof__
mov dword [esp], eax
call 0x505ab0
jmp 0x50598a
add eax, 2
cmp ecx, eax
mov dword [esi], eax
je case.0x5049cb.58
mov al, byte [eax]
cmp al, 0x66
je 0x505a80
cmp al, 0x54
jne case.0x5049cb.58
mov ecx, esi
call fcn.005038b0
test eax, eax
mov dword [esp + 0xc], eax
je 0x505a9f
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.00508fd0
jmp 0x50598a
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00500510
jmp 0x505752
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00504960
test eax, eax
mov dword [esp + 0xc], eax
je 0x505a9f
lea eax, [esp + 0xc]
mov ecx, esi
mov edx, str.sizeof__
mov dword [esp], eax
call fcn.00508f30
jmp 0x50598a
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00500510
test eax, eax
mov dword [esp + 0xc], eax
je 0x505a9f
mov ecx, esi
call fcn.00504960
test eax, eax
mov dword [esp + 0x14], eax
je 0x505a9f
lea eax, [esp + 0x14]
lea edx, [esp + 0xc]
mov ecx, esi
mov dword [esp], eax
call fcn.00508e30
jmp 0x50598a
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00504960
test eax, eax
mov dword [esp + 0xc], eax
je 0x505a9f
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.00508ec0
jmp 0x50598a
mov ecx, esi
call fcn.00504960
test eax, eax
mov dword [esp + 0xc], eax
je 0x505a9f
mov dword [esp], 0x53996d
jmp 0x5059b3
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00504960
test eax, eax
mov dword [esp + 0xc], eax
je 0x505a9f
mov byte [esp + 0x14], 1
jmp 0x5058b5
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00500510
test eax, eax
mov dword [esp + 0xc], eax
je 0x505a9f
mov ecx, esi
call fcn.00504960
test eax, eax
mov dword [esp + 0x14], eax
je 0x505a9f
lea eax, [esp + 0x14]
lea edx, [esp + 0xc]
mov ecx, esi
mov dword [esp], eax
call 0x507c60
jmp 0x50598a
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x124], 0x539940
mov dword [esp + 0x128], 0x539941
movsd xmm0, qword [esp + 0x124]
mov ecx, esi
movsd qword [esp], xmm0
call 0x507670
jmp 0x50598a
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00504960
test eax, eax
mov dword [esp + 0xc], eax
je 0x505a9f
mov byte [esp + 0x14], 0
lea eax, [esp + 0x14]
lea edx, [esp + 0xc]
mov ecx, esi
mov dword [esp + 4], eax
lea eax, [esp + 0x1b]
mov dword [esp], eax
call 0x507bd0
jmp 0x50598a
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00504960
test eax, eax
mov dword [esp + 0xc], eax
je 0x505a9f
mov ecx, esi
call fcn.00504960
test eax, eax
mov dword [esp + 0x14], eax
je 0x505a9f
lea eax, [esp + 0x14]
mov dword [esp], 0x539942
mov dword [esp + 4], eax
lea edx, [esp + 0xc]
mov ecx, esi
call 0x5083c0
jmp 0x50598a
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00504960
test eax, eax
mov dword [esp + 0xc], eax
je 0x505a9f
mov ecx, esi
call fcn.00504960
test eax, eax
mov dword [esp + 0x14], eax
je 0x505a9f
lea eax, [esp + 0x14]
lea edx, [esp + 0xc]
mov ecx, esi
mov dword [esp], eax
call 0x508460
jmp 0x50598a
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x11c], 0x539947
mov dword [esp + 0x120], 0x539948
movsd xmm0, qword [esp + 0x11c]
mov ecx, esi
movsd qword [esp], xmm0
call 0x5075c0
mov ebp, eax
mov eax, ebp
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, esi
call fcn.00504960
test eax, eax
mov dword [esp + 0xc], eax
je 0x505a9f
mov dword [esp], 0x539991
lea edx, [esp + 0xc]
mov ecx, esi
call 0x508830
jmp 0x50598a
inc eax
mov edi, dword [esp + 0x24]
mov ecx, esi
mov dword [esi], eax
mov edx, dword [esi + 8]
mov eax, dword [esi + 0xc]
shl edi, 2
add edx, edi
mov dword [esp], eax
call fcn.0050ae60
add edi, dword [esi + 8]
mov ecx, esi
mov dword [esi + 0xc], edi
mov dword [esp + 0x10], edx
lea edx, [esp + 0xc]
mov dword [esp + 0xc], eax
call fcn.005090d0
mov dword [esp + 0xc], eax
jmp 0x505a8f
inc eax
mov edi, dword [esp + 0x24]
mov ecx, esi
mov dword [esi], eax
mov edx, dword [esi + 8]
mov eax, dword [esi + 0xc]
shl edi, 2
add edx, edi
mov dword [esp], eax
call fcn.0050ae60
add edi, dword [esi + 8]
mov ecx, esi
mov dword [esi + 0xc], edi
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
lea edx, [esp + 0x14]
mov dword [esp], eax
call fcn.00509150
jmp 0x50598a
inc eax
mov edi, dword [esp + 0x1c]
mov ecx, esi
mov dword [esi], eax
mov edx, dword [esi + 8]
mov eax, dword [esi + 0xc]
shl edi, 2
add edx, edi
mov dword [esp], eax
call fcn.0050ae60
add edi, dword [esi + 8]
mov ecx, esi
mov dword [esi + 0xc], edi
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
lea edx, [esp + 0x14]
mov dword [esp], eax
call 0x507790
jmp 0x50598a
mov ecx, esi
call 0x506f80
test eax, eax
mov dword [esp + 0xc], eax
je 0x505a9f
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.00509040
jmp 0x50598a
xor ebp, ebp
jmp case.0x5049cb.58
call fcn.0047ba80
nop dword [eax + eax]
push ebp
push ebx
push edi
push esi
mov ebx, dword [ecx + 0x116c]
mov edi, ecx
mov esi, edx
mov ecx, dword [ebx + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x505aef
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x505b45
mov dword [eax], ebx
xor ecx, ecx
mov ebx, eax
mov dword [eax + 4], 0
mov dword [edi + 0x116c], eax
add ecx, 0x20
mov dword [ebx + 4], ecx
mov ebx, dword [edi + 0x116c]
mov ebp, dword [ebx + 4]
lea edi, [ebx + ebp - 0x18]
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, dword [esp + 0x14]
add eax, esi
mov ecx, dword [ecx]
mov dword [ebx + ebp - 0x14], 0x101012f
mov dword [ebx + ebp - 0x18], 0x53a7f8
mov dword [ebx + ebp - 0x10], esi
mov dword [ebx + ebp - 0xc], eax
mov eax, edi
mov dword [ebx + ebp - 8], ecx
mov dword [ebx + ebp - 4], 0x53990e
mov dword [ebx + ebp], 0x53990f
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0047ba80
nop word [eax + eax]
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov ebp, dword [ecx]
mov ebx, dword [ecx + 4]
xor edi, edi
cmp ebp, ebx
je case.0x505b88.84
cmp byte [ebp], 0x4c
jne case.0x505b88.84
lea eax, [ebp + 1]
mov esi, ecx
mov dword [ecx], eax
mov ecx, ebx
sub ecx, eax
je case.0x505b88.85
movsx eax, byte [eax]
lea edx, [eax - 0x54]
cmp edx, 0x25
ja case.0x505b88.85
jmp dword [edx*4 + 0x538d0c]
cmp ecx, 2
jb case.0x505b88.84
cmp al, 0x5f
jne case.0x505b88.84
cmp byte [ebp + 2], 0x5a
jne case.0x505b88.84
add ebp, 3
mov ecx, esi
mov dword [esi], ebp
call fcn.004ffba0
test eax, eax
je case.0x505b88.84
mov ecx, dword [esi]
cmp ecx, dword [esi + 4]
je case.0x505b88.84
cmp byte [ecx], 0x45
jne case.0x505b88.84
inc ecx
mov dword [esi], ecx
jmp 0x505c67
mov ecx, esi
call fcn.00500510
test eax, eax
mov dword [esp + 0x10], eax
je 0x506721
mov ecx, dword [esi]
mov edx, dword [esi + 4]
xor edi, edi
cmp edx, ecx
je 0x505c2e
movsx ebx, byte [ecx]
add ebx, 0xffffffd0
cmp ebx, 9
ja 0x505c2e
lea ebp, [ecx + 1]
nop word cs:[eax + eax]
mov ebx, ebp
cmp edx, ebp
mov dword [esi], ebp
je 0x505c6e
movsx edi, byte [ebx]
lea ebp, [ebx + 1]
add edi, 0xffffffd0
cmp edi, 0xa
mov edi, 0
jb 0x505c10
dec ebp
jmp 0x505c34
mov ebx, ecx
xor ebp, ebp
xor ecx, ecx
cmp ebx, edx
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
je case.0x505b88.84
cmp byte [ebx], 0x45
jne case.0x505b88.84
inc ebx
cmp ecx, ebp
mov dword [esi], ebx
je 0x505c67
lea eax, [esp + 8]
lea edx, [esp + 0x10]
mov ecx, esi
push eax
call fcn.00509350
add esp, 4
mov edi, eax
jmp case.0x505b88.84
mov ebp, edx
jmp 0x505c34
lea edx, [ebp + 2]
mov eax, ebx
cmp edx, ebx
mov ecx, edx
mov dword [esi], edx
je 0x505c91
cmp byte [edx], 0x6e
mov eax, edx
mov ecx, edx
jne 0x505c91
add ebp, 3
mov eax, ebp
mov ecx, ebp
mov dword [esi], ebp
xor edi, edi
cmp ecx, ebx
je 0x506728
movsx ecx, byte [eax]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x506728
inc eax
cmp ebx, eax
mov dword [esi], eax
je 0x506721
movsx ecx, byte [eax]
inc eax
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x505cab
dec eax
mov ebp, eax
jmp 0x50672c
lea edx, [ebp + 2]
mov eax, ebx
cmp edx, ebx
mov ecx, edx
mov dword [esi], edx
je 0x505ce8
cmp byte [edx], 0x6e
mov eax, edx
mov ecx, edx
jne 0x505ce8
add ebp, 3
mov eax, ebp
mov ecx, ebp
mov dword [esi], ebp
xor edi, edi
cmp ecx, ebx
je 0x5067bd
movsx ecx, byte [eax]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x5067bd
inc eax
cmp ebx, eax
mov dword [esi], eax
je 0x506721
movsx ecx, byte [eax]
inc eax
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x505d02
dec eax
mov ebp, eax
jmp 0x5067c1
lea edx, [ebp + 2]
mov eax, ebx
cmp edx, ebx
mov ecx, edx
mov dword [esi], edx
je 0x505d3f
cmp byte [edx], 0x6e
mov eax, edx
mov ecx, edx
jne 0x505d3f
add ebp, 3
mov eax, ebp
mov ecx, ebp
mov dword [esi], ebp
xor edi, edi
cmp ecx, ebx
je 0x506852
movsx ecx, byte [eax]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x506852
inc eax
cmp ebx, eax
mov dword [esi], eax
je 0x506721
movsx ecx, byte [eax]
inc eax
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x505d59
dec eax
mov ebp, eax
jmp 0x506856
lea edx, [ebp + 2]
mov eax, ebx
cmp edx, ebx
mov ecx, edx
mov dword [esi], edx
je 0x505d96
cmp byte [edx], 0x6e
mov eax, edx
mov ecx, edx
jne 0x505d96
add ebp, 3
mov eax, ebp
mov ecx, ebp
mov dword [esi], ebp
xor edi, edi
cmp ecx, ebx
je 0x5068e7
movsx ecx, byte [eax]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x5068e7
inc eax
cmp ebx, eax
mov dword [esi], eax
je 0x506721
movsx ecx, byte [eax]
inc eax
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x505db0
dec eax
mov ebp, eax
jmp 0x5068eb
lea edx, [ebp + 2]
mov eax, ebx
cmp edx, ebx
mov ecx, edx
mov dword [esi], edx
je 0x505ded
cmp byte [edx], 0x6e
mov eax, edx
mov ecx, edx
jne 0x505ded
add ebp, 3
mov eax, ebp
mov ecx, ebp
mov dword [esi], ebp
xor edi, edi
cmp ecx, ebx
je 0x50697c
movsx ecx, byte [eax]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x50697c
inc eax
cmp ebx, eax
mov dword [esi], eax
je 0x506721
movsx ecx, byte [eax]
inc eax
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x505e07
dec eax
mov ebp, eax
jmp 0x506980
lea edx, [ebp + 2]
mov eax, ebx
cmp edx, ebx
mov ecx, edx
mov dword [esi], edx
je 0x505e44
cmp byte [edx], 0x6e
mov eax, edx
mov ecx, edx
jne 0x505e44
add ebp, 3
mov eax, ebp
mov ecx, ebp
mov dword [esi], ebp
xor edi, edi
cmp ecx, ebx
je 0x506a11
movsx ecx, byte [eax]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x506a11
inc eax
cmp ebx, eax
mov dword [esi], eax
je 0x506721
movsx ecx, byte [eax]
inc eax
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x505e5e
dec eax
mov ebp, eax
jmp 0x506a15
lea ecx, [ebp + 2]
mov eax, ebx
sub eax, ecx
mov dword [esi], ecx
cmp eax, 0x11
jb case.0x505b88.84
movsx eax, byte [ebp + 2]
mov dword [esp + 4], ecx
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 3]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 4]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 5]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 6]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 7]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 8]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 9]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 0xa]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 0xb]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x506721
movsx eax, byte [ebp + 0xc]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x506721
movsx eax, byte [ebp + 0xd]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x506721
movsx eax, byte [ebp + 0xe]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x506721
movsx eax, byte [ebp + 0xf]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x506721
movsx eax, byte [ebp + 0x10]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x506721
movsx eax, byte [ebp + 0x11]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x506721
lea eax, [ebp + 0x12]
cmp eax, ebx
mov dword [esi], eax
mov dword [esp], eax
je 0x506721
mov eax, dword [esp]
mov edi, 0
cmp byte [eax], 0x45
jne case.0x505b88.84
add ebp, 0x13
mov dword [esi], ebp
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x10]
cmp eax, 0xff8
jb 0x506053
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x506f72
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x10
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
lea edi, [eax + ecx - 8]
mov dword [eax + ecx - 4], 0x101013f
mov dword [eax + ecx - 8], 0x539ba4
mov edx, dword [esp + 4]
mov dword [eax + ecx], edx
mov edx, dword [esp]
mov dword [eax + ecx + 4], edx
jmp case.0x505b88.84
lea edx, [ebp + 2]
mov eax, ebx
cmp edx, ebx
mov ecx, edx
mov dword [esi], edx
je 0x5060a8
cmp byte [edx], 0x6e
mov eax, edx
mov ecx, edx
jne 0x5060a8
add ebp, 3
mov eax, ebp
mov ecx, ebp
mov dword [esi], ebp
xor edi, edi
cmp ecx, ebx
je 0x506aa6
movsx ecx, byte [eax]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x506aa6
inc eax
cmp ebx, eax
mov dword [esi], eax
je 0x506721
movsx ecx, byte [eax]
inc eax
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x5060c2
dec eax
mov ebp, eax
jmp 0x506aaa
lea ecx, [ebp + 2]
mov eax, ebx
sub eax, ecx
mov dword [esi], ecx
cmp eax, 0x15
jb case.0x505b88.84
movsx eax, byte [ebp + 2]
mov dword [esp + 4], ecx
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 3]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 4]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 5]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 6]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 7]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 8]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 9]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 0xa]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 0xb]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x506721
movsx eax, byte [ebp + 0xc]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x506721
movsx eax, byte [ebp + 0xd]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x506721
movsx eax, byte [ebp + 0xe]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x506721
movsx eax, byte [ebp + 0xf]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x506721
movsx eax, byte [ebp + 0x10]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x506721
movsx eax, byte [ebp + 0x11]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x506721
movsx eax, byte [ebp + 0x12]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x506721
movsx eax, byte [ebp + 0x13]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x506721
movsx eax, byte [ebp + 0x14]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x506721
movsx eax, byte [ebp + 0x15]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x506721
lea eax, [ebp + 0x16]
cmp eax, ebx
mov dword [esi], eax
mov dword [esp], eax
je 0x506721
mov eax, dword [esp]
mov edi, 0
cmp byte [eax], 0x45
jne case.0x505b88.84
add ebp, 0x17
mov dword [esi], ebp
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x10]
cmp eax, 0xff8
jb 0x50630f
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x506f72
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x10
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 4], 0x1010140
lea edi, [eax + ecx - 8]
mov dword [eax + ecx - 8], 0x539c18
jmp 0x506076
lea ecx, [ebp + 2]
mov eax, ebx
sub eax, ecx
mov dword [esi], ecx
cmp eax, 9
jb case.0x505b88.84
movsx eax, byte [ebp + 2]
mov dword [esp + 4], ecx
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 3]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 4]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 5]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 6]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 7]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 8]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
movsx eax, byte [ebp + 9]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x505b88.84
lea eax, [ebp + 0xa]
cmp eax, ebx
mov dword [esi], eax
je case.0x505b88.84
cmp byte [eax], 0x45
jne case.0x505b88.84
add ebp, 0xb
mov ebx, eax
mov dword [esi], ebp
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x10]
cmp eax, 0xff8
jb 0x506455
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x506f72
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x10
mov edx, dword [esp + 4]
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 4], 0x101013e
mov dword [eax + ecx - 8], 0x539b30
mov dword [eax + ecx], edx
lea edi, [eax + ecx - 8]
mov dword [eax + ecx + 4], ebx
jmp case.0x505b88.84
lea edx, [ebp + 2]
mov eax, ebx
cmp edx, ebx
mov ecx, edx
mov dword [esi], edx
je 0x5064a7
cmp byte [edx], 0x6e
mov eax, edx
mov ecx, edx
jne 0x5064a7
add ebp, 3
mov eax, ebp
mov ecx, ebp
mov dword [esi], ebp
xor edi, edi
cmp ecx, ebx
je 0x506b3b
movsx ecx, byte [eax]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x506b3b
inc eax
cmp ebx, eax
mov dword [esi], eax
je 0x506721
movsx ecx, byte [eax]
inc eax
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x5064c1
dec eax
mov ebp, eax
jmp 0x506b3f
lea edx, [ebp + 2]
mov eax, ebx
cmp edx, ebx
mov ecx, edx
mov dword [esi], edx
je 0x5064fe
cmp byte [edx], 0x6e
mov eax, edx
mov ecx, edx
jne 0x5064fe
add ebp, 3
mov eax, ebp
mov ecx, ebp
mov dword [esi], ebp
xor edi, edi
cmp ecx, ebx
je 0x506bd0
movsx ecx, byte [eax]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x506bd0
inc eax
cmp ebx, eax
mov dword [esi], eax
je 0x506721
movsx ecx, byte [eax]
inc eax
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x506518
dec eax
mov ebp, eax
jmp 0x506bd4
cmp ecx, 3
jb case.0x505b88.84
cmp al, 0x62
jne case.0x505b88.84
mov al, byte [ebp + 2]
cmp al, 0x30
je 0x506f4f
cmp al, 0x31
jne case.0x505b88.84
cmp byte [ebp + 3], 0x45
jne case.0x505b88.84
add ebp, 4
mov dword [esi], ebp
mov dword [esp + 8], 1
jmp 0x506f62
lea edx, [ebp + 2]
mov eax, ebx
cmp edx, ebx
mov ecx, edx
mov dword [esi], edx
je 0x506595
cmp byte [edx], 0x6e
mov eax, edx
mov ecx, edx
jne 0x506595
add ebp, 3
mov eax, ebp
mov ecx, ebp
mov dword [esi], ebp
xor edi, edi
cmp ecx, ebx
je 0x506c65
movsx ecx, byte [eax]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x506c65
inc eax
cmp ebx, eax
mov dword [esi], eax
je 0x506721
movsx ecx, byte [eax]
inc eax
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x5065af
dec eax
mov ebp, eax
jmp 0x506c69
lea edx, [ebp + 2]
mov eax, ebx
cmp edx, ebx
mov ecx, edx
mov dword [esi], edx
je 0x5065ec
cmp byte [edx], 0x6e
mov eax, edx
mov ecx, edx
jne 0x5065ec
add ebp, 3
mov eax, ebp
mov ecx, ebp
mov dword [esi], ebp
xor edi, edi
cmp ecx, ebx
je 0x506cfa
movsx ecx, byte [eax]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x506cfa
inc eax
cmp ebx, eax
mov dword [esi], eax
je 0x506721
movsx ecx, byte [eax]
inc eax
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x506606
dec eax
mov ebp, eax
jmp 0x506cfe
lea edx, [ebp + 2]
mov eax, ebx
cmp edx, ebx
mov ecx, edx
mov dword [esi], edx
je 0x506643
cmp byte [edx], 0x6e
mov eax, edx
mov ecx, edx
jne 0x506643
add ebp, 3
mov eax, ebp
mov ecx, ebp
mov dword [esi], ebp
xor edi, edi
cmp ecx, ebx
je 0x506d8f
movsx ecx, byte [eax]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x506d8f
inc eax
cmp ebx, eax
mov dword [esi], eax
je 0x506721
movsx ecx, byte [eax]
inc eax
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x50665d
dec eax
mov ebp, eax
jmp 0x506d93
lea edx, [ebp + 2]
mov eax, ebx
cmp edx, ebx
mov ecx, edx
mov dword [esi], edx
je 0x50669a
cmp byte [edx], 0x6e
mov eax, edx
mov ecx, edx
jne 0x50669a
add ebp, 3
mov eax, ebp
mov ecx, ebp
mov dword [esi], ebp
xor edi, edi
cmp ecx, ebx
je 0x506e24
movsx ecx, byte [eax]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x506e24
inc eax
cmp ebx, eax
mov dword [esi], eax
je 0x506721
movsx ecx, byte [eax]
inc eax
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x5066b4
dec eax
mov ebp, eax
jmp 0x506e28
lea edx, [ebp + 2]
mov eax, ebx
cmp edx, ebx
mov ecx, edx
mov dword [esi], edx
je 0x5066ed
cmp byte [edx], 0x6e
mov eax, edx
mov ecx, edx
jne 0x5066ed
add ebp, 3
mov eax, ebp
mov ecx, ebp
mov dword [esi], ebp
xor edi, edi
cmp ecx, ebx
je 0x506eb9
movsx ecx, byte [eax]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x506eb9
inc eax
cmp ebx, eax
mov dword [esi], eax
je 0x506721
movsx ecx, byte [eax]
inc eax
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x506707
dec eax
mov ebp, eax
jmp 0x506ebd
xor edi, edi
jmp case.0x505b88.84
xor ebp, ebp
xor edx, edx
cmp eax, ebx
je case.0x505b88.84
cmp edx, ebp
je case.0x505b88.84
cmp byte [eax], 0x45
jne case.0x505b88.84
inc eax
mov ebx, edx
mov dword [esi], eax
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x506785
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x506f72
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x20
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 0x14], 0x101013d
mov dword [eax + ecx - 0x18], 0x539a54
mov dword [eax + ecx - 0x10], 0x539a28
lea edi, [eax + ecx - 0x18]
mov dword [eax + ecx - 0xc], 0x539a2a
jmp 0x506f3d
xor ebp, ebp
xor edx, edx
cmp eax, ebx
je case.0x505b88.84
cmp edx, ebp
je case.0x505b88.84
cmp byte [eax], 0x45
jne case.0x505b88.84
inc eax
mov ebx, edx
mov dword [esi], eax
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x50681a
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x506f72
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x20
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 0x14], 0x101013d
mov dword [eax + ecx - 0x18], 0x539a54
mov dword [eax + ecx - 0x10], 0x539a2f
lea edi, [eax + ecx - 0x18]
mov dword [eax + ecx - 0xc], 0x539a37
jmp 0x506f3d
xor ebp, ebp
xor edx, edx
cmp eax, ebx
je case.0x505b88.84
cmp edx, ebp
je case.0x505b88.84
cmp byte [eax], 0x45
jne case.0x505b88.84
inc eax
mov ebx, edx
mov dword [esi], eax
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x5068af
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x506f72
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x20
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 0x14], 0x101013d
mov dword [eax + ecx - 0x18], 0x539a54
mov dword [eax + ecx - 0x10], 0x539a21
lea edi, [eax + ecx - 0x18]
mov dword [eax + ecx - 0xc], 0x539a22
jmp 0x506f3d
xor ebp, ebp
xor edx, edx
cmp eax, ebx
je case.0x505b88.84
cmp edx, ebp
je case.0x505b88.84
cmp byte [eax], 0x45
jne case.0x505b88.84
inc eax
mov ebx, edx
mov dword [esi], eax
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x506944
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x506f72
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x20
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 0x14], 0x101013d
mov dword [eax + ecx - 0x18], 0x539a54
mov dword [eax + ecx - 0x10], 0x539a25
lea edi, [eax + ecx - 0x18]
mov dword [eax + ecx - 0xc], 0x539a27
jmp 0x506f3d
xor ebp, ebp
xor edx, edx
cmp eax, ebx
je case.0x505b88.84
cmp edx, ebp
je case.0x505b88.84
cmp byte [eax], 0x45
jne case.0x505b88.84
inc eax
mov ebx, edx
mov dword [esi], eax
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x5069d9
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x506f72
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x20
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 0x14], 0x101013d
mov dword [eax + ecx - 0x18], 0x539a54
mov dword [eax + ecx - 0x10], 0x539a2b
lea edi, [eax + ecx - 0x18]
mov dword [eax + ecx - 0xc], 0x539a2e
jmp 0x506f3d
xor ebp, ebp
xor edx, edx
cmp eax, ebx
je case.0x505b88.84
cmp edx, ebp
je case.0x505b88.84
cmp byte [eax], 0x45
jne case.0x505b88.84
inc eax
mov ebx, edx
mov dword [esi], eax
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x506a6e
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x506f72
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x20
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 0x14], 0x101013d
mov dword [eax + ecx - 0x18], 0x539a54
mov dword [eax + ecx - 0x10], 0x5399f1
lea edi, [eax + ecx - 0x18]
mov dword [eax + ecx - 0xc], 0x5399fc
jmp 0x506f3d
xor ebp, ebp
xor edx, edx
cmp eax, ebx
je case.0x505b88.84
cmp edx, ebp
je case.0x505b88.84
cmp byte [eax], 0x45
jne case.0x505b88.84
inc eax
mov ebx, edx
mov dword [esi], eax
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x506b03
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x506f72
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x20
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 0x14], 0x101013d
mov dword [eax + ecx - 0x18], 0x539a54
mov dword [eax + ecx - 0x10], 0x539a23
lea edi, [eax + ecx - 0x18]
mov dword [eax + ecx - 0xc], 0x539a24
jmp 0x506f3d
xor ebp, ebp
xor edx, edx
cmp eax, ebx
je case.0x505b88.84
cmp edx, ebp
je case.0x505b88.84
cmp byte [eax], 0x45
jne case.0x505b88.84
inc eax
mov ebx, edx
mov dword [esi], eax
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x506b98
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x506f72
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x20
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 0x14], 0x101013d
mov dword [eax + ecx - 0x18], 0x539a54
mov dword [eax + ecx - 0x10], 0x539a38
lea edi, [eax + ecx - 0x18]
mov dword [eax + ecx - 0xc], 0x539a49
jmp 0x506f3d
xor ebp, ebp
xor edx, edx
cmp eax, ebx
je case.0x505b88.84
cmp edx, ebp
je case.0x505b88.84
cmp byte [eax], 0x45
jne case.0x505b88.84
inc eax
mov ebx, edx
mov dword [esi], eax
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x506c2d
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x506f72
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x20
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 0x14], 0x101013d
mov dword [eax + ecx - 0x18], 0x539a54
mov dword [eax + ecx - 0x10], 0x539a0b
lea edi, [eax + ecx - 0x18]
mov dword [eax + ecx - 0xc], 0x539a10
jmp 0x506f3d
xor ebp, ebp
xor edx, edx
cmp eax, ebx
je case.0x505b88.84
cmp edx, ebp
je case.0x505b88.84
cmp byte [eax], 0x45
jne case.0x505b88.84
inc eax
mov ebx, edx
mov dword [esi], eax
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x506cc2
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x506f72
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x20
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 0x14], 0x101013d
mov dword [eax + ecx - 0x18], 0x539a54
mov dword [eax + ecx - 0x10], 0x5399ec
lea edi, [eax + ecx - 0x18]
mov dword [eax + ecx - 0xc], 0x5399f0
jmp 0x506f3d
xor ebp, ebp
xor edx, edx
cmp eax, ebx
je case.0x505b88.84
cmp edx, ebp
je case.0x505b88.84
cmp byte [eax], 0x45
jne case.0x505b88.84
inc eax
mov ebx, edx
mov dword [esi], eax
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x506d57
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x506f72
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x20
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 0x14], 0x101013d
mov dword [eax + ecx - 0x18], 0x539a54
mov dword [eax + ecx - 0x10], 0x539a20
lea edi, [eax + ecx - 0x18]
mov dword [eax + ecx - 0xc], 0x539a20
jmp 0x506f3d
xor ebp, ebp
xor edx, edx
cmp eax, ebx
je case.0x505b88.84
cmp edx, ebp
je case.0x505b88.84
cmp byte [eax], 0x45
jne case.0x505b88.84
inc eax
mov ebx, edx
mov dword [esi], eax
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x506dec
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x506f72
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x20
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 0x14], 0x101013d
mov dword [eax + ecx - 0x18], 0x539a54
mov dword [eax + ecx - 0x10], 0x5399fd
lea edi, [eax + ecx - 0x18]
mov dword [eax + ecx - 0xc], 0x539a0a
jmp 0x506f3d
xor ebp, ebp
xor edx, edx
cmp eax, ebx
je case.0x505b88.84
cmp edx, ebp
je case.0x505b88.84
cmp byte [eax], 0x45
jne case.0x505b88.84
inc eax
mov ebx, edx
mov dword [esi], eax
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x506e81
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x506f72
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x20
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
lea edi, [eax + ecx - 0x18]
mov dword [eax + ecx - 0x14], 0x101013d
mov dword [eax + ecx - 0x18], 0x539a54
mov dword [eax + ecx - 0x10], 0x5399e4
mov dword [eax + ecx - 0xc], 0x5399eb
jmp 0x506f3d
xor ebp, ebp
xor edx, edx
cmp eax, ebx
je case.0x505b88.84
cmp edx, ebp
je case.0x505b88.84
cmp byte [eax], 0x45
jne case.0x505b88.84
inc eax
mov ebx, edx
mov dword [esi], eax
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x506f0a
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x506f72
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x20
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 0x14], 0x101013d
mov dword [eax + ecx - 0x18], 0x539a54
mov dword [eax + ecx - 0x10], 0x539a11
lea edi, [eax + ecx - 0x18]
mov dword [eax + ecx - 0xc], 0x539a1f
mov dword [eax + ecx - 8], ebx
mov dword [eax + ecx - 4], ebp
mov eax, edi
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
cmp byte [ebp + 3], 0x45
jne case.0x505b88.84
add ebp, 4
mov dword [esi], ebp
mov dword [esp + 8], 0
lea edx, [esp + 8]
mov ecx, esi
call fcn.005092d0
jmp 0x505c67
call fcn.0047ba80
nop word [eax + eax]
push ebp
push ebx
push edi
push esi
mov esi, ecx
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
xor eax, eax
mov edi, ecx
sub edi, edx
cmp edi, 2
jb 0x507179
cmp byte [edx], 0x66
jne 0x507179
cmp byte [edx + 1], 0x70
jne 0x506fd8
lea edi, [edx + 2]
cmp edi, ecx
mov dword [esi], edi
je 0x50702c
cmp byte [edi], 0x72
jne 0x506fbe
add edx, 3
mov edi, edx
mov dword [esi], edx
cmp edi, ecx
je 0x50702c
cmp byte [edi], 0x56
jne 0x506fca
inc edi
mov dword [esi], edi
cmp edi, ecx
je 0x50702c
cmp byte [edi], 0x4b
jne 0x50702e
inc edi
mov dword [esi], edi
jmp 0x50702e
cmp byte [edx], 0x66
jne 0x507179
cmp byte [edx + 1], 0x4c
jne 0x507179
lea edi, [edx + 2]
xor eax, eax
cmp ecx, edi
mov dword [esi], edi
je 0x507078
movsx ebx, byte [edi]
add ebx, 0xffffffd0
cmp ebx, 9
ja 0x507078
add edx, 3
mov ebx, edx
cmp ecx, edx
mov dword [esi], edx
je 0x5070c6
movsx ebp, byte [ebx]
lea edx, [ebx + 1]
add ebp, 0xffffffd0
cmp ebp, 0xa
jb 0x507008
dec edx
cmp edi, edx
jne 0x507086
jmp 0x507179
mov edi, ecx
xor eax, eax
cmp ecx, edi
je 0x507106
movsx edx, byte [edi]
add edx, 0xffffffd0
cmp edx, 9
ja 0x507106
lea ebx, [edi + 1]
nop word [eax + eax]
mov edx, ebx
cmp ecx, ebx
mov dword [esi], ebx
je 0x50717e
movsx ebp, byte [edx]
lea ebx, [edx + 1]
add ebp, 0xffffffd0
cmp ebp, 0xa
jb 0x507050
dec ebx
cmp edx, ecx
jne 0x507110
jmp 0x507179
mov ebx, edi
xor edx, edx
xor edi, edi
cmp edi, edx
je 0x507179
cmp ebx, ecx
je 0x507179
cmp byte [ebx], 0x70
jne 0x507179
lea edi, [ebx + 1]
cmp edi, ecx
mov dword [esi], edi
je 0x5070d1
cmp byte [edi], 0x72
jne 0x5070ac
add ebx, 2
mov edi, ebx
mov dword [esi], ebx
cmp edi, ecx
je 0x5070d3
cmp byte [edi], 0x56
jne 0x5070b8
inc edi
mov dword [esi], edi
cmp edi, ecx
je 0x5070d3
cmp byte [edi], 0x4b
jne 0x5070d3
inc edi
mov dword [esi], edi
jmp 0x5070d3
mov edx, ecx
cmp edi, edx
jne 0x507086
jmp 0x507179
mov edi, ecx
xor eax, eax
cmp ecx, edi
je 0x507106
movsx edx, byte [edi]
add edx, 0xffffffd0
cmp edx, 9
ja 0x507106
lea ebx, [edi + 1]
mov edx, ebx
cmp ecx, ebx
mov dword [esi], ebx
je 0x50717e
movsx ebp, byte [edx]
lea ebx, [edx + 1]
add ebp, 0xffffffd0
cmp ebp, 0xa
jb 0x5070e7
jmp 0x50706a
mov edx, edi
xor ebx, ebx
xor edi, edi
cmp edx, ecx
je 0x507179
cmp byte [edx], 0x5f
jne 0x507179
inc edx
mov dword [esi], edx
mov ebp, dword [esi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx + 0x10]
cmp eax, 0xff8
jb 0x50714f
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x507186
mov dword [eax], ebp
xor ecx, ecx
mov ebp, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x10
mov dword [ebp + 4], ecx
mov ecx, dword [esi + 0x116c]
mov edx, dword [ecx + 4]
lea eax, [ecx + edx - 8]
mov dword [ecx + edx - 4], 0x1010136
mov dword [ecx + edx - 8], 0x539cfc
mov dword [ecx + edx + 4], ebx
mov dword [ecx + edx], edi
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, ecx
cmp edx, ecx
jne 0x507110
jmp 0x507179
call fcn.0047ba80
nop dword [eax + eax]
push ebp
push ebx
push edi
push esi
sub esp, 0xc
mov esi, ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
xor edi, edi
cmp eax, ecx
je case.0x507230.177
cmp byte [eax], 0x66
jne case.0x507230.177
lea edx, [eax + 1]
cmp ecx, edx
mov dword [esi], edx
je case.0x507230.177
mov dh, byte [edx]
mov dl, dh
add dl, 0xb4
cmp dl, 0x26
ja case.0x507230.177
mov byte [esp + 4], dh
mov bl, 1
movzx edx, dl
mov dword [esp + 8], ebx
jmp dword [edx*4 + 0x538da4]
mov dword [esp + 8], 0
lea edx, [eax + 2]
sub ecx, edx
mov dword [esi], edx
cmp ecx, 2
jb case.0x507230.177
mov cl, byte [edx]
add cl, 0x9f
cmp cl, 0x11
ja case.0x507230.177
movzx ecx, cl
jmp dword [ecx*4 + 0x538e40]
mov cl, byte [eax + 3]
add cl, 0xb2
cmp cl, 0x20
ja case.0x507230.177
movzx ecx, cl
mov ebp, 0x539912
mov dword [esp], 0x539910
jmp dword [ecx*4 + 0x53903c]
mov ebp, 0x539917
mov dword [esp], 0x539915
jmp case.0x507230.159
mov cl, byte [eax + 3]
add cl, 0xb3
cmp cl, 0x26
ja case.0x507230.177
movzx ecx, cl
mov ebp, 0x5399a9
mov dword [esp], 0x5399a8
jmp dword [ecx*4 + 0x538e88]
mov ebp, 0x5399ac
mov dword [esp], 0x5399aa
jmp case.0x507230.159
mov cl, byte [eax + 3]
cmp cl, 0x65
je 0x5073f5
cmp cl, 0x74
jne case.0x507230.177
mov ebp, 0x539958
mov dword [esp], 0x539957
jmp case.0x507230.159
mov cl, byte [eax + 3]
add cl, 0xad
cmp cl, 0x21
ja case.0x507230.177
movzx ecx, cl
mov ebp, 0x53995b
mov dword [esp], 0x539959
jmp dword [ecx*4 + 0x538fb4]
mov ebp, 0x539962
mov dword [esp], 0x53995f
jmp case.0x507230.159
mov cl, byte [eax + 3]
cmp cl, 0x4f
je 0x507428
cmp cl, 0x6f
je 0x507417
cmp cl, 0x71
jne case.0x507230.177
mov ebp, 0x539953
mov dword [esp], 0x539951
jmp case.0x507230.159
cmp byte [eax + 3], 0x6d
jne case.0x507230.177
mov ebp, 0x539930
mov dword [esp], 0x53992f
jmp case.0x507230.159
mov cl, byte [eax + 3]
cmp cl, 0x56
je 0x50744a
cmp cl, 0x73
je 0x507439
cmp cl, 0x76
jne case.0x507230.177
mov ebp, 0x539948
mov dword [esp], 0x539947
jmp case.0x507230.159
mov cl, byte [eax + 3]
add cl, 0xb7
cmp cl, 0x23
ja case.0x507230.177
movzx ecx, cl
mov ebp, 0x539966
mov dword [esp], 0x539965
jmp dword [ecx*4 + 0x538f24]
mov ebp, 0x539969
mov dword [esp], 0x539967
jmp case.0x507230.159
cmp byte [eax + 3], 0x65
jne case.0x507230.177
mov ebp, 0x539972
mov dword [esp], 0x539970
jmp case.0x507230.159
mov cl, byte [eax + 3]
cmp cl, 0x4c
je 0x507406
cmp cl, 0x6c
jne case.0x507230.177
mov ebp, 0x53998d
mov dword [esp], 0x53998c
jmp case.0x507230.159
mov cl, byte [eax + 3]
cmp cl, 0x52
je 0x507469
cmp cl, 0x6f
je 0x50745b
cmp cl, 0x72
jne case.0x507230.177
mov ebp, 0x539984
mov dword [esp], 0x539983
jmp case.0x507230.159
mov ebp, 0x539956
mov dword [esp], 0x539954
jmp case.0x507230.159
mov ebp, 0x539990
mov dword [esp], 0x53998e
jmp case.0x507230.159
mov ebp, 0x53994d
mov dword [esp], 0x53994c
jmp case.0x507230.159
mov ebp, 0x539950
mov dword [esp], 0x53994e
jmp case.0x507230.159
mov ebp, 0x539944
mov dword [esp], 0x539942
jmp case.0x507230.159
mov ebp, 0x53994b
mov dword [esp], 0x539949
jmp case.0x507230.159
mov ebp, 0x539982
mov dword [esp], 0x539980
jmp case.0x507230.159
mov ebp, 0x539987
mov dword [esp], 0x539985
jmp case.0x507230.159
mov ebp, 0x5399b3
mov dword [esp], 0x5399b0
jmp case.0x507230.159
mov ebp, 0x5399af
mov dword [esp], 0x5399ad
jmp case.0x507230.159
mov ebp, 0x53995e
mov dword [esp], 0x53995c
jmp case.0x507230.159
mov ebp, 0x539919
mov dword [esp], 0x539918
jmp case.0x507230.159
mov ebp, 0x53996c
mov dword [esp], 0x53996a
jmp case.0x507230.159
mov ebp, 0x539964
mov dword [esp], 0x539963
jmp case.0x507230.159
mov ebp, 0x539914
mov dword [esp], 0x539913
jmp case.0x507230.159
mov ebp, 0x539941
mov dword [esp], 0x539940
add eax, 4
mov ecx, esi
mov dword [esi], eax
call fcn.00504960
test eax, eax
je case.0x507230.177
mov ebx, eax
mov al, byte [esp + 4]
cmp al, 0x52
je 0x507507
cmp al, 0x4c
jne 0x50752d
mov ecx, esi
call fcn.00504960
test eax, eax
je 0x5075ad
cmp byte [esp + 8], 0
mov edi, eax
mov eax, ebx
mov dword [esp + 4], ebp
cmovne eax, edi
cmovne edi, ebx
mov ebx, eax
jmp 0x507533
mov dword [esp + 4], ebp
xor edi, edi
mov ebp, dword [esi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x50756a
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x5075b9
mov dword [eax], ebp
xor ecx, ecx
mov ebp, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x20
mov edx, dword [esp]
mov dword [ebp + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 0x14], 0x1010139
mov dword [eax + ecx - 0x18], 0x539d68
mov dword [eax + ecx - 0x10], ebx
mov dword [eax + ecx - 0xc], edi
mov dword [eax + ecx - 8], edx
mov edx, dword [esp + 4]
lea edi, [eax + ecx - 0x18]
mov dword [eax + ecx - 4], edx
mov edx, dword [esp + 8]
mov byte [eax + ecx], dl
jmp case.0x507230.177
xor edi, edi
mov eax, edi
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0047ba80
nop
push ebp
push ebx
push edi
push esi
mov edi, ecx
call fcn.00504960
xor ebp, ebp
test eax, eax
je 0x507657
mov ecx, edi
mov esi, eax
call fcn.00504960
test eax, eax
je 0x507657
mov ebp, dword [edi + 0x116c]
mov ebx, eax
mov ecx, dword [ebp + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x50761b
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x50765e
mov dword [eax], ebp
xor ecx, ecx
mov ebp, eax
mov dword [eax + 4], 0
mov dword [edi + 0x116c], eax
add ecx, 0x20
lea eax, [esp + 0x14]
mov dword [ebp + 4], ecx
mov ecx, dword [edi + 0x116c]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [ecx + 4]
lea ebp, [ecx + edx - 0x18]
mov dword [ecx + edx - 0x14], 0x101012a
mov dword [ecx + edx - 0x18], 0x539e44
mov dword [ecx + edx - 0x10], esi
mov dword [ecx + edx - 0xc], edi
mov dword [ecx + edx - 8], eax
mov dword [ecx + edx - 4], ebx
mov eax, ebp
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0047ba80
nop word cs:[eax + eax]
nop dword [eax]
push ebx
push edi
push esi
mov edi, ecx
call fcn.00504960
test eax, eax
je 0x5076f1
mov ebx, dword [edi + 0x116c]
mov esi, eax
mov ecx, dword [ebx + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x5076b7
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x5076f7
mov dword [eax], ebx
xor ecx, ecx
mov ebx, eax
mov dword [eax + 4], 0
mov dword [edi + 0x116c], eax
add ecx, 0x20
lea edx, [esp + 0x10]
mov dword [ebx + 4], ecx
mov ecx, dword [edi + 0x116c]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
mov edi, dword [ecx + 4]
lea eax, [ecx + edi - 0x18]
mov dword [ecx + edi - 0x14], 0x1010135
mov dword [ecx + edi - 0x18], 0x539eac
mov dword [ecx + edi - 0x10], ebx
mov dword [ecx + edi - 0xc], edx
mov dword [ecx + edi - 8], esi
jmp 0x5076f3
xor eax, eax
pop esi
pop edi
pop ebx
ret
call fcn.0047ba80
nop dword [eax]
push ebx
push edi
push esi
mov ebx, dword [ecx + 0x116c]
mov edi, ecx
mov esi, edx
mov ecx, dword [ebx + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x50773e
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x507785
mov dword [eax], ebx
xor ecx, ecx
mov ebx, eax
mov dword [eax + 4], 0
mov dword [edi + 0x116c], eax
add ecx, 0x20
mov edx, dword [esp + 0x10]
mov dword [ebx + 4], ecx
mov ecx, dword [edi + 0x116c]
mov esi, dword [esi]
mov edx, dword [edx]
mov edi, dword [ecx + 4]
mov dword [ecx + edi - 0x14], 0x1010130
mov dword [ecx + edi - 0x18], 0x539f14
mov dword [ecx + edi - 0x10], 0x539924
mov dword [ecx + edi - 0xc], 0x53992e
mov dword [ecx + edi - 8], esi
lea eax, [ecx + edi - 0x18]
mov dword [ecx + edi - 4], edx
pop esi
pop edi
pop ebx
ret
call fcn.0047ba80
nop word [eax + eax]
push ebx
push edi
push esi
mov ebx, dword [ecx + 0x116c]
mov edi, ecx
mov esi, edx
mov ecx, dword [ebx + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x5077ce
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x50780c
mov dword [eax], ebx
xor ecx, ecx
mov ebx, eax
mov dword [eax + 4], 0
mov dword [edi + 0x116c], eax
add ecx, 0x20
mov edx, dword [esp + 0x10]
mov dword [ebx + 4], ecx
mov ecx, dword [edi + 0x116c]
mov esi, dword [esi]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
mov edi, dword [ecx + 4]
mov dword [ecx + edi - 0x14], 0x1010132
mov dword [ecx + edi - 0x18], 0x539f78
mov dword [ecx + edi - 0x10], esi
lea eax, [ecx + edi - 0x18]
mov dword [ecx + edi - 0xc], ebx
mov dword [ecx + edi - 8], edx
pop esi
pop edi
pop ebx
ret
call fcn.0047ba80
nop word cs:[eax + eax]
nop dword [eax + eax]
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x50
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
mov eax, dword [ebp - 0x10]
mov edi, dword [eax + 4]
mov dword [ebp - 0x44], 0x47bc30
mov dword [ebp - 0x40], 0x54f2e8
mov dword [ebp - 0x3c], ebp
mov dword [ebp - 0x34], esp
mov dword [ebp - 0x38], 0x507b9f
sub edi, esi
lea ebx, [ebp - 0x5c]
push ebx
call fcn.0047cc80
add esp, 4
cmp edi, 2
jb 0x507904
cmp byte [esi], 0x63
jne 0x507904
cmp byte [esi + 1], 0x76
mov dword [ebp - 0x18], 0
jne 0x50790b
mov eax, dword [ebp - 0x10]
add esi, 2
mov dword [eax], esi
mov eax, dword [ebp - 0x10]
mov cl, byte [eax + 0x168]
mov byte [ebp - 0x11], cl
mov byte [eax + 0x168], 0
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x58], 1
call fcn.00500510
mov esi, eax
mov eax, dword [ebp - 0x10]
mov cl, byte [ebp - 0x11]
lea ebx, [ebp - 0x5c]
test esi, esi
mov byte [eax + 0x168], cl
je 0x50790b
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 4]
cmp eax, ecx
je 0x5079de
cmp byte [eax], 0x5f
jne 0x5079de
mov dword [ebp - 0x20], esi
inc eax
mov edx, dword [ebp - 0x10]
mov dword [edx], eax
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x10]
mov esi, dword [esi + 0xc]
sub esi, dword [edx + 8]
sar esi, 2
mov dword [ebp - 0x24], esi
mov edx, dword [ebp - 0x10]
add edx, 0x14
mov dword [ebp - 0x1c], edx
jmp 0x507968
mov dword [ebp - 0x18], 0
push ebx
call fcn.0047cce0
add esp, 4
mov eax, dword [ebp - 0x18]
add esp, 0x50
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
push ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
mov ecx, dword [ebp - 0x10]
mov ebx, eax
test ebx, ebx
mov dword [ecx + 8], ebx
je 0x507b86
mov ecx, dword [ebp - 0x10]
lea eax, [ebx + esi]
sar esi, 1
mov dword [ecx + 0xc], eax
lea ecx, [ebx + esi*4]
mov esi, eax
lea ebx, [ebp - 0x5c]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x10], ecx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
lea ecx, [esi + 4]
mov dword [edx + 0xc], ecx
mov dword [esi], edi
mov eax, dword [eax]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 4]
cmp eax, ecx
je 0x507975
cmp byte [eax], 0x45
je 0x507ad2
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x58], 0xffffffff
call fcn.00504960
test eax, eax
je 0x50790b
mov edi, eax
mov eax, dword [ebp - 0x10]
mov esi, dword [eax + 0xc]
mov eax, dword [ebp - 0x10]
cmp esi, dword [eax + 0x10]
jne 0x507952
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 8]
sub esi, ecx
cmp dword [ebp - 0x1c], ecx
lea eax, [esi + esi]
jne 0x50791f
mov dword [ebp - 0x28], ecx
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x507b8b
mov ebx, eax
test esi, esi
je 0x5079d3
push esi
push dword [ebp - 0x28]
push ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
add esp, 0xc
mov eax, dword [ebp - 0x10]
mov dword [eax + 8], ebx
jmp 0x507939
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x58], 0xffffffff
call fcn.00504960
test eax, eax
je 0x50790b
mov dword [ebp - 0x20], esi
mov edi, eax
mov eax, dword [ebp - 0x10]
mov esi, dword [eax + 0x116c]
mov ecx, dword [esi + 4]
lea eax, [ecx + 0x10]
cmp eax, 0xff8
jb 0x507a3b
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x507b90
mov dword [eax], esi
mov dword [eax + 4], 0
mov esi, eax
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x116c], eax
xor ecx, ecx
add ecx, 0x10
mov dword [esi + 4], ecx
mov eax, dword [ebp - 0x10]
mov esi, dword [eax + 0x116c]
mov ebx, dword [esi + 4]
mov dword [esi + ebx - 8], edi
mov edi, dword [eax + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x507a8f
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x507b95
mov dword [eax], edi
mov dword [eax + 4], 0
mov edi, eax
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x116c], eax
xor ecx, ecx
add ecx, 0x20
lea eax, [esi + ebx - 8]
mov dword [edi + 4], ecx
mov edi, 1
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x20]
mov ecx, dword [ecx + 0x116c]
mov edx, dword [ecx + 4]
mov dword [ecx + edx - 0x14], 0x1010137
mov dword [ecx + edx - 0x18], 0x539fdc
mov dword [ecx + edx - 0x10], esi
mov dword [ecx + edx - 0xc], eax
lea eax, [ecx + edx - 0x18]
mov dword [ecx + edx - 8], edi
jmp 0x507b7b
mov ecx, dword [ebp - 0x10]
inc eax
mov dword [ecx], eax
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x24]
mov edx, dword [esi + 8]
mov edi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
shl ebx, 2
add edx, ebx
push dword [edi + 0xc]
call fcn.0050ae60
add esp, 4
add ebx, dword [esi + 8]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], edx
mov dword [edi + 0xc], ebx
mov eax, dword [ebp - 0x10]
mov esi, dword [eax + 0x116c]
mov ecx, dword [esi + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x507b40
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x507b9a
mov dword [eax], esi
mov dword [eax + 4], 0
mov esi, eax
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x116c], eax
xor ecx, ecx
add ecx, 0x20
mov edi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x20]
mov eax, dword [eax + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 0x14], 0x1010137
mov dword [eax + ecx - 0x18], 0x539fdc
mov dword [eax + ecx - 0x10], edx
mov dword [eax + ecx - 8], ebx
mov dword [eax + ecx - 0xc], edi
lea eax, [eax + ecx - 0x18]
lea ebx, [ebp - 0x5c]
mov dword [ebp - 0x18], eax
jmp 0x50790b
call fcn.0047ba80
call fcn.0047ba80
call fcn.0047ba80
call fcn.0047ba80
call fcn.0047ba80
mov eax, dword [ebp - 0x58]
cmp eax, 1
jb switch.0x00507bab
ud2
jmp dword [eax*4 + 0x5390c0]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x10]
mov dl, byte [ebp - 0x11]
mov byte [ecx + 0x168], dl
mov dword [ebp - 0x58], 0xffffffff
push eax
call fcn.0047cf80
nop
push ebp
push ebx
push edi
push esi
mov ebx, dword [ecx + 0x116c]
mov edi, ecx
mov esi, edx
mov ecx, dword [ebx + 4]
lea eax, [ecx + 0x10]
cmp eax, 0xff8
jb 0x507c0f
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x507c51
mov dword [eax], ebx
xor ecx, ecx
mov ebx, eax
mov dword [eax + 4], 0
mov dword [edi + 0x116c], eax
add ecx, 0x10
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov dword [ebx + 4], ecx
mov ecx, dword [edi + 0x116c]
mov esi, dword [esi]
mov bl, byte [ebp]
mov dl, byte [edx]
mov edi, dword [ecx + 4]
mov dword [ecx + edi - 4], 0x1010134
mov dword [ecx + edi - 8], 0x53a048
mov dword [ecx + edi], esi
mov byte [ecx + edi + 4], bl
lea eax, [ecx + edi - 8]
mov byte [ecx + edi + 5], dl
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0047ba80
nop word cs:[eax + eax]
push ebx
push edi
push esi
mov ebx, dword [ecx + 0x116c]
mov edi, ecx
mov esi, edx
mov ecx, dword [ebx + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x507c9e
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x507ce5
mov dword [eax], ebx
xor ecx, ecx
mov ebx, eax
mov dword [eax + 4], 0
mov dword [edi + 0x116c], eax
add ecx, 0x20
mov edx, dword [esp + 0x10]
mov dword [ebx + 4], ecx
mov ecx, dword [edi + 0x116c]
mov esi, dword [esi]
mov edx, dword [edx]
mov edi, dword [ecx + 4]
mov dword [ecx + edi - 0x14], 0x1010130
mov dword [ecx + edi - 0x18], 0x539f14
mov dword [ecx + edi - 0x10], 0x539933
mov dword [ecx + edi - 0xc], 0x53993f
mov dword [ecx + edi - 8], esi
lea eax, [ecx + edi - 0x18]
mov dword [ecx + edi - 4], edx
pop esi
pop edi
pop ebx
ret
call fcn.0047ba80
nop word [eax + eax]
push ebp
push ebx
push edi
push esi
sub esp, 0x10
mov esi, ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, ecx
sub edx, eax
cmp edx, 3
jae 0x507d17
cmp edx, 2
jne 0x507df4
mov dl, byte [eax]
jmp 0x507dc1
mov dl, byte [eax]
cmp dl, 0x73
jne 0x507dc1
cmp byte [eax + 1], 0x72
jne 0x507df4
xor ebx, ebx
cmp byte [eax + 2], 0x4e
jne 0x507e1f
add eax, 3
mov ecx, esi
mov dword [esi], eax
call fcn.0050b130
test eax, eax
je 0x508209
mov ebp, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x50821d
cmp byte [eax], 0x49
jne 0x50821d
mov ecx, esi
xor edx, edx
mov dword [esp], ebp
xor ebp, ebp
call fcn.005031b0
test eax, eax
je 0x50820b
mov edi, dword [esi + 0x116c]
mov ebx, eax
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x10]
cmp eax, 0xff8
jb 0x5081e2
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
mov edx, dword [esp]
test eax, eax
je 0x5083ad
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
jmp 0x5081e5
cmp dl, 0x67
jne 0x507e0a
cmp byte [eax + 1], 0x73
jne 0x507df4
add eax, 2
mov edx, ecx
sub edx, eax
mov dword [esi], eax
cmp edx, 2
jae 0x5080a6
mov ecx, esi
call fcn.0050b220
mov ebp, eax
test eax, eax
jne 0x5080cc
jmp 0x508209
mov ecx, esi
call fcn.0050b220
mov ebp, eax
test eax, eax
jne 0x50820b
jmp 0x508209
xor ebx, ebx
cmp dl, 0x73
jne 0x5080b3
cmp byte [eax + 1], 0x72
jne 0x5080b3
add eax, 2
cmp ecx, eax
mov dword [esi], eax
je 0x507e8b
movsx eax, byte [eax]
add eax, 0xffffffd0
cmp eax, 9
ja 0x507e8b
mov ecx, esi
mov dword [esp + 4], ebx
call fcn.0050b480
test eax, eax
mov dword [esp + 0xc], eax
je 0x508209
mov ebx, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x507e84
cmp byte [eax], 0x49
jne 0x507e84
mov ecx, esi
xor edx, edx
xor ebp, ebp
call fcn.005031b0
test eax, eax
mov dword [esp + 8], eax
je 0x50820b
lea eax, [esp + 8]
lea edx, [esp + 0xc]
mov ecx, esi
push eax
call fcn.00503830
add esp, 4
mov ebx, eax
xor ebp, ebp
jmp 0x507f3c
mov ecx, esi
call fcn.0050b130
test eax, eax
je 0x508209
mov ebp, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x508164
cmp byte [eax], 0x49
jne 0x508164
mov ecx, esi
xor edx, edx
mov dword [esp], ebp
xor ebp, ebp
call fcn.005031b0
test eax, eax
je 0x50820b
mov ebx, dword [esi + 0x116c]
mov edi, eax
mov ecx, dword [ebx + 4]
lea eax, [ecx + 0x10]
cmp eax, 0xff8
jb 0x508137
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
mov edx, dword [esp]
test eax, eax
je 0x5083ad
mov dword [eax], ebx
xor ecx, ecx
mov ebx, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
jmp 0x50813a
add ecx, 0x10
mov dword [ebp + 4], ecx
mov ebp, dword [esp]
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 4], 0x1010120
mov dword [eax + ecx - 8], 0x53b034
mov dword [eax + ecx], ebx
lea ebx, [eax + ecx - 8]
mov dword [eax + ecx + 4], edi
test ebp, ebp
je 0x507fa7
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x10]
cmp eax, 0xff8
jb 0x507f7b
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x5083ad
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x10
mov dword [edi + 4], ecx
mov ecx, dword [esi + 0x116c]
mov edx, dword [ecx + 4]
mov dword [ecx + edx - 4], 0x1010116
mov dword [ecx + edx - 8], 0x53a0d4
lea eax, [ecx + edx - 8]
mov dword [ecx + edx], ebp
lea ecx, [ecx + edx + 4]
jmp 0x508011
cmp byte [esp + 4], 0
mov ebp, ebx
je 0x508015
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x10]
cmp eax, 0xff8
jb 0x507feb
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x5083ad
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x10
mov dword [edi + 4], ecx
mov edx, dword [esi + 0x116c]
mov edi, dword [edx + 4]
lea ecx, [edx + edi]
lea eax, [edx + edi - 8]
mov dword [edx + edi - 4], 0x1010121
mov dword [edx + edi - 8], 0x53a488
mov ebp, eax
mov dword [ecx], ebx
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x508025
cmp byte [eax], 0x45
je 0x508132
mov ecx, esi
call fcn.0050b480
test eax, eax
je 0x508209
mov ebx, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x507f3c
cmp byte [eax], 0x49
jne 0x507f3c
mov ecx, esi
xor edx, edx
mov dword [esp], ebp
xor ebp, ebp
call fcn.005031b0
test eax, eax
je 0x50820b
mov ebp, dword [esi + 0x116c]
mov edi, eax
mov ecx, dword [ebp + 4]
lea eax, [ecx + 0x10]
cmp eax, 0xff8
jb 0x507f0f
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x5083ad
mov dword [eax], ebp
xor ecx, ecx
mov ebp, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
jmp 0x507f0f
mov dl, byte [eax]
mov bl, 1
cmp dl, 0x73
je 0x507e15
mov ecx, esi
call fcn.0050b220
test eax, eax
je 0x508209
mov ebp, eax
test bl, bl
je 0x50820b
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x10]
cmp eax, 0xff8
jb 0x508107
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x5083ad
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x10
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 4], 0x1010121
mov dword [eax + ecx - 8], 0x53a488
mov dword [eax + ecx], ebp
lea ebp, [eax + ecx - 8]
jmp 0x50820b
inc eax
mov dword [esi], eax
jmp 0x508164
mov edx, dword [esp]
add ecx, 0x10
mov dword [ebx + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
lea ebp, [eax + ecx - 8]
mov dword [eax + ecx - 4], 0x1010120
mov dword [eax + ecx - 8], 0x53b034
mov dword [eax + ecx], edx
mov dword [eax + ecx + 4], edi
mov ecx, esi
call fcn.0050b220
test eax, eax
je 0x508209
mov ebx, dword [esi + 0x116c]
mov edi, eax
mov ecx, dword [ebx + 4]
lea eax, [ecx + 0x10]
cmp eax, 0xff8
jb 0x5081b4
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x5083ad
mov dword [eax], ebx
mov edx, ebp
xor ecx, ecx
mov ebx, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
jmp 0x5081b6
mov edx, ebp
add ecx, 0x10
mov dword [ebx + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
lea ebp, [eax + ecx - 8]
mov dword [eax + ecx - 4], 0x1010116
mov dword [eax + ecx - 8], 0x53a0d4
mov dword [eax + ecx], edx
mov dword [eax + ecx + 4], edi
jmp 0x50820b
mov edx, dword [esp]
add ecx, 0x10
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 4], 0x1010120
mov dword [eax + ecx - 8], 0x53b034
mov dword [eax + ecx], edx
jmp 0x508215
xor ebp, ebp
mov eax, ebp
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
lea ebp, [eax + ecx - 8]
mov dword [eax + ecx + 4], ebx
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x50822d
cmp byte [eax], 0x45
je 0x508328
mov ecx, esi
call fcn.0050b480
test eax, eax
je 0x508209
mov ebx, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x5082c6
cmp byte [eax], 0x49
jne 0x5082c6
mov ecx, esi
xor edx, edx
mov dword [esp], ebp
xor ebp, ebp
call fcn.005031b0
test eax, eax
je 0x50820b
mov ebp, dword [esi + 0x116c]
mov edi, eax
mov ecx, dword [ebp + 4]
lea eax, [ecx + 0x10]
cmp eax, 0xff8
jb 0x508299
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x5083ad
mov dword [eax], ebp
xor ecx, ecx
mov ebp, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x10
mov dword [ebp + 4], ecx
mov ebp, dword [esp]
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 4], 0x1010120
mov dword [eax + ecx - 8], 0x53b034
mov dword [eax + ecx], ebx
lea ebx, [eax + ecx - 8]
mov dword [eax + ecx + 4], edi
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x10]
cmp eax, 0xff8
jb 0x508301
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x5083ad
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x10
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 4], 0x1010116
mov dword [eax + ecx - 8], 0x53a0d4
mov dword [eax + ecx], ebp
jmp 0x508215
inc eax
mov ecx, esi
mov dword [esp], ebp
mov dword [esi], eax
call fcn.0050b220
test eax, eax
mov ebp, 0
je 0x50820b
mov edi, dword [esi + 0x116c]
mov ebx, eax
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x10]
cmp eax, 0xff8
jb 0x50837b
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x5083ad
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x10
mov edx, dword [esp]
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 4], 0x1010116
mov dword [eax + ecx - 8], 0x53a0d4
mov dword [eax + ecx], edx
lea ebp, [eax + ecx - 8]
mov dword [eax + ecx + 4], ebx
jmp 0x50820b
call fcn.0047ba80
nop word cs:[eax + eax]
nop dword [eax]
push ebp
push ebx
push edi
push esi
mov ebx, dword [ecx + 0x116c]
mov edi, ecx
mov ebp, edx
mov ecx, dword [ebx + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x5083ff
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x508454
mov dword [eax], ebx
xor ecx, ecx
mov ebx, eax
mov dword [eax + 4], 0
mov dword [edi + 0x116c], eax
add ecx, 0x20
mov dword [ebx + 4], ecx
mov ebx, dword [edi + 0x116c]
mov ebp, dword [ebp]
mov esi, dword [ebx + 4]
lea edi, [ebx + esi - 0x18]
push dword [esp + 0x14]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ecx, dword [ecx]
add eax, edx
mov dword [ebx + esi - 0x14], 0x101012e
mov dword [ebx + esi - 0x18], 0x53a4f8
mov dword [ebx + esi - 0x10], ebp
mov dword [ebx + esi - 0xc], edx
mov dword [ebx + esi - 8], eax
mov eax, edi
mov dword [ebx + esi - 4], ecx
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0047ba80
nop dword [eax]
push ebx
push edi
push esi
mov ebx, dword [ecx + 0x116c]
mov edi, ecx
mov esi, edx
mov ecx, dword [ebx + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x50849e
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x5084e5
mov dword [eax], ebx
xor ecx, ecx
mov ebx, eax
mov dword [eax + 4], 0
mov dword [edi + 0x116c], eax
add ecx, 0x20
mov edx, dword [esp + 0x10]
mov dword [ebx + 4], ecx
mov ecx, dword [edi + 0x116c]
mov esi, dword [esi]
mov edx, dword [edx]
mov edi, dword [ecx + 4]
mov dword [ecx + edi - 0x14], 0x101012e
mov dword [ecx + edi - 0x18], 0x53a4f8
mov dword [ecx + edi - 0x10], esi
mov dword [ecx + edi - 0xc], 0x539945
mov dword [ecx + edi - 8], 0x539946
lea eax, [ecx + edi - 0x18]
mov dword [ecx + edi - 4], edx
pop esi
pop edi
pop ebx
ret
call fcn.0047ba80
nop word [eax + eax]
push ebx
push edi
push esi
mov ebx, dword [ecx + 0x116c]
mov edi, ecx
mov esi, edx
mov ecx, dword [ebx + 4]
lea eax, [ecx + 0x10]
cmp eax, 0xff8
jb 0x50852e
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x508564
mov dword [eax], ebx
xor ecx, ecx
mov ebx, eax
mov dword [eax + 4], 0
mov dword [edi + 0x116c], eax
add ecx, 0x10
mov edx, dword [esp + 0x10]
mov dword [ebx + 4], ecx
mov ecx, dword [edi + 0x116c]
mov esi, dword [esi]
mov edx, dword [edx]
mov edi, dword [ecx + 4]
mov dword [ecx + edi - 4], 0x101012b
mov dword [ecx + edi - 8], 0x53a560
mov dword [ecx + edi], esi
lea eax, [ecx + edi - 8]
mov dword [ecx + edi + 4], edx
pop esi
pop edi
pop ebx
ret
call fcn.0047ba80
nop dword [eax]
push ebp
push ebx
push edi
push esi
push eax
mov esi, ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
sub ecx, eax
je 0x50864e
cmp ecx, 1
je 0x50864e
cmp byte [eax], 0x64
jne 0x50864e
movsx ecx, byte [eax + 1]
cmp ecx, 0x58
je 0x5086f5
cmp ecx, 0x78
je 0x50865c
cmp ecx, 0x69
jne 0x50864e
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.0050b480
xor edi, edi
test eax, eax
je 0x508792
mov ecx, esi
mov ebx, eax
call 0x508570
test eax, eax
je 0x508792
mov edi, dword [esi + 0x116c]
mov ebp, eax
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x508619
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x50879c
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x20
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 0x14], 0x1010141
mov dword [eax + ecx - 0x18], 0x53a5d0
mov dword [eax + ecx - 0x10], ebx
mov dword [eax + ecx - 0xc], ebp
lea edi, [eax + ecx - 0x18]
mov byte [eax + ecx - 8], 0
jmp 0x508792
mov ecx, esi
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.00504960
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00504960
xor edi, edi
test eax, eax
je 0x508792
mov ecx, esi
mov ebx, eax
call 0x508570
test eax, eax
je 0x508792
mov edi, dword [esi + 0x116c]
mov ebp, eax
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x5086c0
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x50879c
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x20
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 0x14], 0x1010141
mov dword [eax + ecx - 0x18], 0x53a5d0
mov dword [eax + ecx - 0x10], ebx
mov dword [eax + ecx - 0xc], ebp
lea edi, [eax + ecx - 0x18]
mov byte [eax + ecx - 8], 1
jmp 0x508792
add eax, 2
mov ecx, esi
mov dword [esi], eax
call fcn.00504960
xor edi, edi
test eax, eax
je 0x508792
mov ecx, esi
mov ebx, eax
call fcn.00504960
test eax, eax
je 0x508792
mov ecx, esi
mov ebp, eax
call 0x508570
test eax, eax
je 0x508792
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea edx, [ecx + 0x20]
cmp edx, 0xff8
jb 0x508763
mov dword [esp], eax
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x50879c
mov dword [eax], edi
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
mov edi, eax
mov eax, dword [esp]
xor ecx, ecx
add ecx, 0x20
mov dword [edi + 4], ecx
mov edx, dword [esi + 0x116c]
mov ecx, dword [edx + 4]
lea edi, [edx + ecx - 0x18]
mov dword [edx + ecx - 0x14], 0x1010142
mov dword [edx + ecx - 0x18], 0x53a63c
mov dword [edx + ecx - 0x10], ebx
mov dword [edx + ecx - 0xc], ebp
mov dword [edx + ecx - 8], eax
mov eax, edi
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0047ba80
nop word cs:[eax + eax]
nop dword [eax + eax]
push edi
push esi
mov edi, dword [ecx + 0x116c]
mov esi, ecx
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x5087eb
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x50882a
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x20
mov edx, dword [esp + 0xc]
mov dword [edi + 4], ecx
mov ecx, dword [esi + 0x116c]
mov edi, dword [edx]
mov edx, dword [edx + 4]
mov esi, dword [ecx + 4]
mov dword [ecx + esi - 0x14], 0x1010138
mov dword [ecx + esi - 0x18], 0x53a6b0
mov dword [ecx + esi - 0x10], 0
lea eax, [ecx + esi - 0x18]
mov dword [ecx + esi - 0xc], edi
mov dword [ecx + esi - 8], edx
pop esi
pop edi
ret
call fcn.0047ba80
nop
push ebp
push ebx
push edi
push esi
mov ebx, dword [ecx + 0x116c]
mov edi, ecx
mov ebp, edx
mov ecx, dword [ebx + 4]
lea eax, [ecx + 0x20]
cmp eax, 0xff8
jb 0x50886f
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x5088ba
mov dword [eax], ebx
xor ecx, ecx
mov ebx, eax
mov dword [eax + 4], 0
mov dword [edi + 0x116c], eax
add ecx, 0x20
mov dword [ebx + 4], ecx
mov ebx, dword [edi + 0x116c]
mov ebp, dword [ebp]
mov esi, dword [ebx + 4]
lea edi, [ebx + esi - 0x18]
push dword [esp + 0x14]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, dword [esp + 0x14]
mov dword [ebx + esi - 0x14], 0x101012c
mov dword [ebx + esi - 0x18], 0x53a71c
mov dword [ebx + esi - 0x10], ebp
add eax, ecx
mov dword [ebx + esi - 0xc], ecx
mov dword [ebx + esi - 8], eax
mov eax, edi
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0047ba80
nop
push ebp
push ebx
push edi
push esi
sub esp, 0x20
mov esi, ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
xor ebp, ebp
mov edx, ecx
sub edx, eax
cmp edx, 2
jb 0x508bb6
mov dl, byte [eax]
xor ebp, ebp
cmp dl, 0x67
jne 0x50890c
cmp byte [eax + 1], 0x73
jne 0x508bb6
add eax, 2
mov edx, ecx
sub edx, eax
mov dword [esi], eax
cmp edx, 2
jb 0x508bb6
mov dl, byte [eax]
mov bl, 1
mov dword [esp + 0x10], ebx
jmp 0x508914
mov dword [esp + 0x10], 0
mov dh, byte [eax + 1]
cmp dh, 0x61
sete byte [esp + 3]
cmp dl, 0x6e
jne 0x508bb6
cmp dh, 0x77
je 0x508936
cmp dh, 0x61
jne 0x508bb6
add eax, 2
lea edi, [esi + 0x14]
mov dword [esp + 4], esi
mov dword [esi], eax
mov dword [esp + 0xc], edi
mov edx, dword [esi + 0xc]
sub edx, dword [esi + 8]
sar edx, 2
mov dword [esp + 8], edx
jmp 0x508998
cmp eax, ecx
je 0x5089a1
cmp byte [eax], 0x5f
je 0x5089f5
mov ecx, esi
call fcn.00504960
test eax, eax
je 0x508bb6
mov eax, ebp
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
jmp case.0x50a7c4.2
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x20]
mov dword [ecx + 0x10], edx
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
mov dword [ecx + 0xc], edx
mov dword [ebp - 0x58], 0xffffffff
push eax
call fcn.0047cf80
nop word cs:[eax + eax]
nop dword [eax]
push ecx
call fcn.00417920
add esp, 4
ret