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

Disassembly:
push ebp
push edi
mov ebp, ecx
push esi
push ebx
sub esp, 0x9c
mov eax, dword [ecx]
mov dword [ecx + 0xc], 2
mov ebx, dword [esp + 0xb0]
mov eax, dword [eax + 0x38]
cmp eax, 0x64b310
jne 0x42b350
mov eax, dword [ecx + 8]
cmp eax, 2
je 0x42acb0
mov dword [ebp + 0x30], ebx
lea ecx, [ebp + 0x28]
call fcn.0042f3b0
add esp, 0x9c
pop ebx
pop esi
pop edi
pop ebp
ret 4
mov eax, dword [ebp]
mov eax, dword [eax + 0x30]
cmp eax, 0x5587b0
jne 0x42b780
lea eax, [ebp + 0x50]
mov eax, dword [eax + 0x10]
cmp ebx, 0xc8
mov dword [ebp + 0x30], 0xc8
mov dword [esp + 0x1c], eax
je 0x42b360
cmp ebx, 0x194
je 0x42b450
xor eax, eax
mov ecx, dword [esp + 0x1c]
mov edi, ebx
mov word [esp + 0x6c], ax
xor eax, eax
mov esi, ebx
mov word [esp + 0x7c], ax
xor eax, eax
sar edi, 0x1f
mov word [esp + 0x8c], ax
mov eax, ebx
mov dword [esp + 0x60], 0
sar eax, 0x1f
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
and ax, 0xfec0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
add ax, 0x1f6
mov dword [esp + 0x88], 0
mov word [esp + 0x20], ax
mov dword [esp], 0x200
call fcn.00649650
sub esp, 4
mov edx, eax
mov eax, 0x405
mov word [esp + 0x7e], ax
mov eax, dword [esp + 0x74]
cmp ebx, 0xffff80a6
mov dword [esp + 0x84], edi
movzx edi, word [esp + 0x20]
mov dword [edx], 4
mov dword [edx + 8], 0x74646b
mov dword [edx + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x80], esi
mov dword [edx + 0x10], esi
mov word [esp + 0x8e], di
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x84]
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x88]
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0x8c]
mov dword [edx + 0x1c], eax
je 0x42beb3
jle 0x42b740
cmp ebx, 0xffff80a7
je 0x42bec2
cmp ebx, 0xffff80a8
mov ecx, 0xf
mov eax, str.Invalid_Request
jne 0x42b756
xor ebx, ebx
xor esi, esi
mov edi, 0x405
mov word [esp + 0x7c], bx
mov word [esp + 0x8c], si
mov word [esp + 0x8e], di
mov ebx, dword [esp + 0x8c]
mov dword [edx + 0x38], eax
mov dword [esp + 0x78], eax
mov dword [edx + 0x20], 7
mov dword [edx + 0x24], 0
mov dword [edx + 0x2c], ebx
mov ebx, 0x405
mov dword [edx + 0x28], 0x746470
mov word [esp + 0x7e], bx
mov eax, dword [esp + 0x7c]
mov dword [edx + 0x30], ecx
mov dword [edx + 0x34], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x84], 0
mov dword [edx + 0x3c], eax
mov eax, dword [ebp]
mov dword [esp + 0x80], 7
mov dword [esp + 0x88], 0x746470
mov dword [esp + 0x70], ecx
mov eax, dword [eax + 0x34]
cmp eax, 0x5587c0
jne 0x42bea0
lea esi, [ebp + 0x50]
xor eax, eax
mov edi, dword [esi + 4]
mov dword [esp + 0x84], 0
mov word [esp + 0x8c], ax
mov eax, dword [esi]
mov dword [esp + 0x88], 0
mov ebx, dword [esi + 8]
mov dword [esp + 0x20], edi
cmp eax, edi
jb 0x42af69
test edi, edi
jne 0x42b7a0
test ebx, ebx
je 0x42b8fe
mov dword [esp + 0x24], 0x10
mov dword [esp + 0x2c], 0x200
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
mov dword [esp + 0x28], ecx
mov ecx, dword [ecx + 4]
mov dword [esp + 0x34], ecx
add ecx, 0x10
mov dword [esp + 0x38], ecx
sub ecx, dword [esp + 0x20]
mov edi, ecx
mov ecx, dword [esp + 0x28]
add edi, ecx
mov ecx, dword [ecx]
cmp edi, ebx
mov dword [esp + 0x30], ecx
je 0x42d31a
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
add eax, ecx
cmp dword [esp + 0x30], eax
jae 0x42d0f2
mov eax, dword [esp + 0x1c]
mov edi, ecx
cmp dword [eax + 4], ecx
cmovae edi, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [esp + 0x2c], edi
je 0x42d88a
mov eax, dword [esp + 0x2c]
add eax, 0x10
jne 0x42d0a6
mov eax, dword [esi]
xor ebx, ebx
mov edi, dword [esp + 0x24]
mov dword [esi + 8], ebx
mov dword [esi + 4], edi
mov ecx, 0x405
shl eax, 5
mov edi, 3
mov word [esp + 0x8e], cx
mov ecx, dword [esp + 0x84]
add eax, ebx
mov dword [eax], 5
mov dword [eax + 8], 0x746478
mov word [esp + 0x6e], di
mov dword [esp + 0x80], 5
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x88], 0x746478
mov dword [esp + 0x60], 2
mov dword [esp + 0x64], 0x10
mov dword [esp + 0x68], edx
mov dword [eax + 0xc], ecx
mov eax, dword [esi]
shl eax, 5
add ebx, eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x10], 2
mov dword [ebx + 0x14], 0x10
mov dword [ebx + 0x18], edx
mov dword [ebx + 0x1c], eax
add dword [esi], 1
mov eax, dword [ebp]
mov eax, dword [eax + 0x34]
cmp eax, 0x5587c0
jne 0x42b790
lea esi, [ebp + 0x50]
xor edi, edi
mov edx, dword [esi]
xor eax, eax
mov word [esp + 0x7c], di
mov edi, dword [esi + 4]
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
cmp edx, edi
mov word [esp + 0x8c], ax
mov ebx, dword [esi + 8]
jb 0x42b0e5
test edi, edi
jne 0x42b3d2
test ebx, ebx
je 0x42b872
mov dword [esp + 0x20], 0x10
mov ecx, 0x200
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x24], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x2c], eax
add eax, 0x10
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x28]
sub eax, edi
add eax, dword [esp + 0x24]
cmp ebx, eax
je 0x42d1a0
mov eax, dword [esp + 0x2c]
mov edx, ecx
add eax, ecx
cmp eax, dword [esp + 0x30]
jbe 0x42ccb7
mov eax, dword [esp + 0x1c]
cmp dword [eax + 4], ecx
cmovae ecx, dword [eax + 4]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x42d821
mov eax, dword [esp + 0x28]
add eax, 0x10
jne 0x42cc67
mov edx, dword [esi]
xor ebx, ebx
mov eax, dword [esp + 0x20]
mov dword [esi + 8], ebx
mov dword [esi + 4], eax
mov eax, 0x405
shl edx, 5
mov dword [esp + 0x80], 7
mov word [esp + 0x8e], ax
mov eax, dword [esp + 0x84]
add edx, ebx
mov dword [edx], 7
mov dword [edx + 8], str.jsonrpc
mov dword [esp + 0x88], str.jsonrpc
mov dword [esp + 0x70], 3
mov dword [edx + 4], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x78], 0x746497
mov dword [edx + 0xc], eax
mov eax, dword [esi]
mov edx, 0x405
mov word [esp + 0x7e], dx
shl eax, 5
add ebx, eax
mov eax, dword [esp + 0x74]
mov dword [ebx + 0x10], 3
mov dword [ebx + 0x18], 0x746497
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x7c]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp]
add dword [esi], 1
mov edx, dword [eax + 0x34]
cmp edx, 0x5587c0
jne 0x42b770
lea edi, [ebp + 0x50]
mov dword [esp + 0x20], edi
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
cmp eax, 0x42ac40
jne 0x42b765
lea eax, [ebp + 0x90]
mov dword [esp + 4], 0x74649b
mov dword [esp], eax
call fcn.00401d00
movzx edx, word [eax + 0xe]
mov ebx, eax
mov eax, edx
and eax, 7
cmp ax, 4
je 0x42b640
cmp ax, 5
je 0x42b5e0
cmp ax, 3
mov eax, dword [ebx]
je 0x42b4c0
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x74], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x7c], eax
xor eax, eax
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov word [esp + 0x8c], ax
mov eax, dword [esp + 0x20]
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov ebx, dword [eax + 8]
cmp edx, esi
jb 0x42b2d3
test esi, esi
jne 0x42b410
test ebx, ebx
je 0x42b7e7
mov dword [esp + 0x24], 0x200
mov ecx, 0x10
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov edi, dword [eax + 4]
mov dword [esp + 0x30], edi
add edi, 0x10
mov dword [esp + 0x28], edi
mov edi, dword [eax]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x28]
sub edi, esi
add edi, eax
cmp ebx, edi
je 0x42d180
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
add edx, edi
cmp dword [esp + 0x2c], edx
jae 0x42cc43
mov eax, dword [esp + 0x1c]
mov edx, edi
cmp dword [eax + 4], edi
cmovae edx, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x42d7f6
mov eax, edx
add eax, 0x10
jne 0x42cc01
mov eax, dword [esp + 0x20]
xor ebx, ebx
mov edx, dword [eax]
mov eax, dword [esp + 0x20]
mov dword [eax + 8], ebx
mov dword [eax + 4], ecx
mov eax, 0x405
shl edx, 5
mov edi, dword [esp + 0x20]
mov word [esp + 0x8e], ax
mov eax, dword [esp + 0x84]
add edx, ebx
mov dword [edx], 2
mov dword [edx + 8], 0x74649b
mov dword [esp + 0x80], 2
mov dword [esp + 0x88], 0x74649b
mov dword [edx + 4], eax
mov eax, dword [esp + 0x8c]
mov dword [edx + 0xc], eax
mov eax, dword [edi]
mov dword [esp + 0x1c], eax
shl eax, 5
add ebx, eax
mov eax, dword [esp + 0x70]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x74]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x78]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x7c]
mov dword [ebx + 0x1c], eax
add dword [edi], 1
jmp 0x42ac95
call eax
jmp 0x42ac8d
mov eax, dword [ebp]
mov eax, dword [eax + 0x34]
cmp eax, 0x5587c0
jne 0x42cce0
lea edx, [ebp + 0x50]
mov ecx, dword [edx]
mov eax, dword [edx + 8]
shl ecx, 5
add ecx, eax
cmp eax, ecx
jne 0x42b3a1
jmp 0x42bed1
cmp byte [eax + 0xd], 7
je 0x42b3b1
add eax, 0x20
cmp ecx, eax
je 0x42bed1
test byte [eax + 0xf], 0x10
mov edx, eax
jne 0x42b390
cmp dword [eax], 6
jne 0x42b396
mov edx, dword [eax + 8]
cmp edx, 0x74647e
je 0x42aff2
cmp dword [edx], 0x75736572
jne 0x42b396
cmp word [edx + 4], 0x746c
jne 0x42b396
jmp 0x42aff2
lea eax, [edi + 1]
shr eax, 1
add eax, edi
cmp edi, eax
mov dword [esp + 0x20], eax
jae 0x42b0e5
shl eax, 5
shl edi, 5
test ebx, ebx
je 0x42db0b
test eax, eax
je 0x42db04
cmp edi, eax
mov ecx, eax
jae 0x42b0db
jmp 0x42b06a
lea eax, [esi + 1]
shr eax, 1
lea ecx, [eax + esi]
cmp esi, ecx
jae 0x42b2d3
mov eax, ecx
shl esi, 5
shl eax, 5
test ebx, ebx
je 0x42daf7
test eax, eax
je 0x42daf0
cmp esi, eax
mov dword [esp + 0x24], eax
jae 0x42b2c9
jmp 0x42b260
xor edx, edx
xor ecx, ecx
xor ebx, ebx
mov word [esp + 0x6c], dx
mov edx, 0xb6
mov word [esp + 0x7c], cx
mov word [esp + 0x8c], bx
mov dword [esp + 0x60], 0
mov esi, 0xffff80a7
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov edi, 0xffffffff
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov ebx, 0xffff80a7
mov dword [esp + 0x88], 0
mov word [esp + 0x20], dx
mov ecx, eax
jmp 0x42ad52
mov esi, eax
mov dword [esp + 0x2c], eax
shl esi, 5
test esi, esi
je 0x42b50b
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x42b4e8
mov edx, dword [eax + 4]
lea ecx, [esi + edx]
add edx, 0x10
cmp ecx, dword [eax]
jbe 0x42b99b
mov eax, dword [esp + 0x1c]
mov edi, esi
cmp dword [eax + 4], esi
cmovae edi, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x42d359
mov eax, edi
add eax, 0x10
jne 0x42b970
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x42b5b6
mov eax, dword [ebx + 8]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x44], ebp
mov dword [esp + 0x28], 0
mov dword [esp + 0x4c], eax
add eax, 0x10
mov ebp, edi
mov dword [esp + 0x24], eax
test ebp, ebp
mov edi, ebp
je 0x42b590
mov eax, dword [esp + 0x24]
movzx edx, word [eax - 2]
mov eax, edx
and eax, 7
cmp ax, 4
je 0x42bdb3
cmp ax, 5
je 0x42bd50
cmp ax, 3
je 0x42bc40
mov edi, dword [esp + 0x24]
mov word [ebp + 0xe], dx
mov eax, dword [edi - 0x10]
mov dword [ebp], eax
mov eax, dword [edi - 0xc]
mov dword [ebp + 4], eax
mov eax, dword [edi - 8]
mov dword [ebp + 8], eax
mov eax, dword [edi - 4]
mov dword [ebp + 0xc], eax
mov ecx, ebp
add ecx, 0x10
jne 0x42b9b0
add dword [esp + 0x28], 1
add ebp, 0x20
add dword [esp + 0x24], 0x20
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x2c], eax
jne 0x42b53f
mov ebp, dword [esp + 0x44]
mov eax, 3
mov word [esp + 0x7e], ax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x78], eax
jmp 0x42b20f
cmp dx, 0x405
je 0x42b7e0
and dh, 0x10
je 0x42c8b3
movsx eax, byte [ebx + 0xd]
mov esi, 0xd
sub esi, eax
cmp esi, 0xd
ja 0x42cb70
mov eax, 0xd
mov ecx, esi
mov edx, 0x1c05
sub eax, ecx
lea edi, [esp + 0x70]
mov word [esp + 0x7e], dx
mov byte [esp + 0x7d], al
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], edi
call sub.msvcrt.dll_putchar
mov byte [edi + esi], 0
jmp 0x42b20f
mov eax, dword [ebx]
mov esi, eax
mov dword [esp + 0x2c], eax
shl esi, 4
test esi, esi
je 0x42b68d
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x42b66a
mov edx, dword [eax + 4]
lea ecx, [esi + edx]
add edx, 0x10
cmp ecx, dword [eax]
jbe 0x42b95b
mov eax, dword [esp + 0x1c]
mov edi, esi
cmp dword [eax + 4], esi
cmovae edi, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x42d33e
mov eax, edi
add eax, 0x10
jne 0x42b930
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x42b729
mov eax, dword [ebx + 8]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x44], ebp
mov dword [esp + 0x28], 0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x24], eax
mov ebp, edi
test ebp, ebp
mov edi, ebp
je 0x42b70e
mov eax, dword [esp + 0x24]
movzx edx, word [eax + 0xe]
mov eax, edx
and eax, 7
cmp ax, 4
je 0x42ba40
cmp ax, 5
je 0x42b9d4
cmp ax, 3
je 0x42bb40
mov edi, dword [esp + 0x24]
mov word [ebp + 0xe], dx
mov eax, dword [edi]
mov dword [ebp], eax
mov eax, dword [edi + 4]
mov dword [ebp + 4], eax
mov eax, dword [edi + 8]
mov dword [ebp + 8], eax
mov eax, dword [edi + 0xc]
mov dword [ebp + 0xc], eax
add dword [esp + 0x28], 1
add ebp, 0x10
add dword [esp + 0x24], 0x10
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x2c], eax
jne 0x42b6be
mov ebp, dword [esp + 0x44]
mov ecx, 4
mov word [esp + 0x7e], cx
jmp 0x42b5c0
cmp ebx, 0xffff8044
mov ecx, 0xb
mov eax, str.Parse_error
je 0x42adf8
mov ecx, 0xe
mov eax, str.Internal_error
jmp 0x42adf8
mov ecx, ebp
call eax
jmp 0x42b1bb
mov ecx, ebp
call edx
mov dword [esp + 0x20], eax
mov eax, dword [ebp]
jmp 0x42b187
mov ecx, ebp
call eax
jmp 0x42acc4
mov ecx, ebp
call eax
mov esi, eax
jmp 0x42b006
lea ecx, [edi + 1]
shr ecx, 1
add ecx, edi
cmp edi, ecx
mov dword [esp + 0x24], ecx
jae 0x42af69
shl ecx, 5
shl edi, 5
test ebx, ebx
je 0x42b90b
test ecx, ecx
je 0x42dae9
mov dword [esp + 0x20], edi
cmp dword [esp + 0x20], ecx
mov dword [esp + 0x2c], ecx
jae 0x42af5f
jmp 0x42aeec
mov eax, dword [ebx]
jmp 0x42b1f6
mov eax, 0x200
mov ecx, 0x10
mov esi, eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x42b80a
mov ebx, dword [eax + 4]
lea edi, [esi + ebx]
add ebx, 0x10
cmp edi, dword [eax]
jbe 0x42b868
mov eax, dword [esp + 0x1c]
mov edi, esi
cmp dword [eax + 4], esi
cmovae edi, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x42d984
mov eax, edi
add eax, 0x10
je 0x42b2c1
mov dword [esp], eax
mov dword [esp + 0x24], ecx
xor ebx, ebx
call sub.msvcrt.dll_memset
mov ecx, dword [esp + 0x20]
test eax, eax
mov edx, dword [ecx]
mov ecx, dword [esp + 0x24]
je 0x42b2c9
mov dword [eax], edi
mov edi, dword [esp + 0x1c]
mov dword [eax + 4], 0
mov ebx, dword [edi]
mov dword [eax + 8], ebx
mov dword [edi], eax
mov ebx, 0x10
mov edi, esi
add ebx, eax
mov dword [eax + 4], edi
jmp 0x42b2c9
mov eax, 0x200
mov dword [esp + 0x20], 0x10
mov edi, eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x42b898
mov ebx, dword [eax + 4]
lea ecx, [edi + ebx]
add ebx, 0x10
cmp ecx, dword [eax]
jbe 0x42b8f4
mov eax, dword [esp + 0x1c]
mov ecx, edi
cmp dword [eax + 4], edi
mov ebx, dword [eax + 0xc]
cmovae ecx, dword [eax + 4]
test ebx, ebx
mov dword [esp + 0x24], ecx
je 0x42d9a7
mov eax, dword [esp + 0x24]
add eax, 0x10
je 0x42b0d7
mov dword [esp], eax
xor ebx, ebx
call sub.msvcrt.dll_memset
test eax, eax
mov edx, dword [esi]
je 0x42b0db
mov ecx, dword [esp + 0x24]
mov dword [eax + 4], 0
mov dword [eax], ecx
mov ecx, dword [esp + 0x1c]
mov ebx, dword [ecx]
mov dword [eax + 8], ebx
mov dword [ecx], eax
mov ebx, 0x10
mov ecx, edi
add ebx, eax
mov dword [eax + 4], ecx
jmp 0x42b0db
mov ecx, 0x200
mov dword [esp + 0x24], 0x10
mov dword [esp], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], edx
call fcn.00649650
sub esp, 4
mov ebx, eax
mov eax, dword [esi]
mov edx, dword [esp + 0x20]
jmp 0x42af5f
mov dword [esp], eax
call sub.msvcrt.dll_memset
test eax, eax
je 0x42b68d
mov dword [eax], edi
mov edi, dword [esp + 0x1c]
mov ecx, esi
mov dword [eax + 4], 0
mov edx, dword [edi]
mov dword [eax + 8], edx
mov dword [edi], eax
mov edx, 0x10
lea esi, [eax + edx]
mov dword [eax + 4], ecx
mov dword [esp + 0x38], esi
jmp 0x42b695
mov dword [esp], eax
call sub.msvcrt.dll_memset
test eax, eax
je 0x42b50b
mov dword [eax], edi
mov edi, dword [esp + 0x1c]
mov ecx, esi
mov dword [eax + 4], 0
mov edx, dword [edi]
mov dword [eax + 8], edx
mov dword [edi], eax
mov edx, 0x10
lea esi, [eax + edx]
mov dword [eax + 4], ecx
mov dword [esp + 0x38], esi
jmp 0x42b513
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.0063a3d0
sub esp, 0xc
jmp 0x42b59b
cmp dx, 0x405
je 0x42d3a0
and dh, 0x10
mov eax, dword [esp + 0x24]
je 0x42cb40
mov esi, dword [esp + 0x28]
movsx eax, byte [eax + 0xd]
mov ebx, 0xd
shl esi, 4
add esi, dword [esp + 0x4c]
sub ebx, eax
cmp ebx, 0xd
ja 0x42ccf0
mov eax, 0x1c05
mov word [ebp + 0xe], ax
mov eax, 0xd
sub eax, ebx
mov byte [ebp + 0xd], al
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], edi
call sub.msvcrt.dll_putchar
mov byte [edi + ebx], 0
jmp 0x42b70e
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov ebx, eax
mov dword [esp + 0x34], eax
shl ebx, 4
test ebx, ebx
je 0x42ba91
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x42ba6e
mov edx, dword [eax + 4]
lea ecx, [ebx + edx]
add edx, 0x10
cmp ecx, dword [eax]
jbe 0x42c08b
mov eax, dword [esp + 0x1c]
mov esi, ebx
mov edi, dword [eax + 0xc]
cmp dword [eax + 4], ebx
cmovae esi, dword [eax + 4]
test edi, edi
je 0x42d642
mov eax, esi
add eax, 0x10
jne 0x42c060
mov dword [esp + 0x40], 0
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x42bb1e
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x30], 0
mov dword [esp + 0x50], ebp
mov eax, dword [eax + 8]
mov dword [esp + 0x54], eax
mov edi, eax
test esi, esi
mov ebp, esi
je 0x42bb05
movzx edx, word [edi + 0xe]
mov eax, edx
and eax, 7
cmp ax, 4
je 0x42c214
cmp ax, 5
je 0x42c1b2
cmp ax, 3
je 0x42c6c2
mov word [esi + 0xe], dx
mov eax, dword [edi]
mov dword [esi], eax
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 8]
mov dword [esi + 8], eax
mov eax, dword [edi + 0xc]
mov dword [esi + 0xc], eax
add dword [esp + 0x30], 1
add esi, 0x10
add edi, 0x10
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x34], eax
jne 0x42babe
mov ebp, dword [esp + 0x50]
mov eax, 4
mov word [ebp + 0xe], ax
mov eax, dword [esp + 0x34]
mov dword [ebp + 4], eax
mov dword [ebp], eax
mov eax, dword [esp + 0x40]
mov dword [ebp + 8], eax
jmp 0x42b70e
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov ebx, eax
mov dword [esp + 0x34], eax
shl ebx, 5
test ebx, ebx
je 0x42bb91
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x42bb6e
mov edx, dword [eax + 4]
lea ecx, [ebx + edx]
add edx, 0x10
cmp ecx, dword [eax]
jbe 0x42c051
mov eax, dword [esp + 0x1c]
mov esi, ebx
cmp dword [eax + 4], ebx
cmovae esi, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x42d60c
mov eax, esi
add eax, 0x10
jne 0x42c026
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x34]
test eax, eax
je 0x42bc2f
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x30], 0
mov dword [esp + 0x50], ebp
mov eax, dword [eax + 8]
lea edi, [eax + 0x10]
mov dword [esp + 0x54], eax
test esi, esi
mov ebp, esi
je 0x42bc0b
movzx edx, word [edi - 2]
mov eax, edx
and eax, 7
cmp ax, 4
je 0x42c410
cmp ax, 5
je 0x42c3a4
cmp ax, 3
je 0x42c2d2
mov word [esi + 0xe], dx
mov eax, dword [edi - 0x10]
mov dword [esi], eax
mov eax, dword [edi - 0xc]
mov dword [esi + 4], eax
mov eax, dword [edi - 8]
mov dword [esi + 8], eax
mov eax, dword [edi - 4]
mov dword [esi + 0xc], eax
mov ecx, esi
add ecx, 0x10
jne 0x42c0c0
add dword [esp + 0x30], 1
add esi, 0x20
add edi, 0x20
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x34], eax
jne 0x42bbc3
mov ebp, dword [esp + 0x50]
mov eax, 3
mov word [ebp + 0xe], ax
jmp 0x42bb27
mov eax, dword [esp + 0x24]
mov eax, dword [eax - 0x10]
mov ebx, eax
mov dword [esp + 0x34], eax
shl ebx, 5
test ebx, ebx
je 0x42bc92
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x42bc6f
mov edx, dword [eax + 4]
lea ecx, [ebx + edx]
add edx, 0x10
cmp ecx, dword [eax]
jbe 0x42bfdd
mov eax, dword [esp + 0x1c]
mov esi, ebx
cmp dword [eax + 4], ebx
cmovae esi, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x42d65d
mov eax, esi
add eax, 0x10
jne 0x42bfb2
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x34]
test eax, eax
je 0x42bd30
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x30], 0
mov dword [esp + 0x50], ebp
mov eax, dword [eax - 8]
lea edi, [eax + 0x10]
mov dword [esp + 0x54], eax
test esi, esi
mov ebp, esi
je 0x42bd0c
movzx edx, word [edi - 2]
mov eax, edx
and eax, 7
cmp ax, 4
je 0x42c532
cmp ax, 5
je 0x42c4d0
cmp ax, 3
je 0x42c0e0
mov word [esi + 0xe], dx
mov eax, dword [edi - 0x10]
mov dword [esi], eax
mov eax, dword [edi - 0xc]
mov dword [esi + 4], eax
mov eax, dword [edi - 8]
mov dword [esi + 8], eax
mov eax, dword [edi - 4]
mov dword [esi + 0xc], eax
mov ecx, esi
add ecx, 0x10
jne 0x42c0a0
add dword [esp + 0x30], 1
add esi, 0x20
add edi, 0x20
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x34], eax
jne 0x42bcc4
mov ebp, dword [esp + 0x50]
mov edx, 3
mov word [ebp + 0xe], dx
mov eax, dword [esp + 0x34]
mov dword [ebp + 4], eax
mov dword [ebp], eax
mov eax, dword [esp + 0x40]
mov dword [ebp + 8], eax
jmp 0x42b590
cmp dx, 0x405
je 0x42d374
and dh, 0x10
mov eax, dword [esp + 0x24]
je 0x42cb54
mov esi, dword [esp + 0x28]
movsx eax, byte [eax - 3]
mov ebx, 0xd
shl esi, 5
add esi, dword [esp + 0x4c]
sub ebx, eax
cmp ebx, 0xd
ja 0x42cd80
mov eax, 0x1c05
mov word [ebp + 0xe], ax
mov eax, 0xd
sub eax, ebx
mov byte [ebp + 0xd], al
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], edi
call sub.msvcrt.dll_putchar
mov byte [edi + ebx], 0
jmp 0x42b590
mov eax, dword [esp + 0x24]
mov eax, dword [eax - 0x10]
mov ebx, eax
mov dword [esp + 0x34], eax
shl ebx, 4
test ebx, ebx
je 0x42be05
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x42bde2
mov edx, dword [eax + 4]
lea ecx, [ebx + edx]
add edx, 0x10
cmp ecx, dword [eax]
jbe 0x42c017
mov eax, dword [esp + 0x1c]
mov esi, ebx
cmp dword [eax + 4], ebx
cmovae esi, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x42d627
mov eax, esi
add eax, 0x10
jne 0x42bfec
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x34]
test eax, eax
je 0x42be92
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x30], 0
mov dword [esp + 0x50], ebp
mov eax, dword [eax - 8]
mov dword [esp + 0x54], eax
mov edi, eax
test esi, esi
mov ebp, esi
je 0x42be79
movzx edx, word [edi + 0xe]
mov eax, edx
and eax, 7
cmp ax, 4
je 0x42c7f5
cmp ax, 5
je 0x42c793
cmp ax, 3
je 0x42c5f1
mov word [esi + 0xe], dx
mov eax, dword [edi]
mov dword [esi], eax
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 8]
mov dword [esi + 8], eax
mov eax, dword [edi + 0xc]
mov dword [esi + 0xc], eax
add dword [esp + 0x30], 1
add esi, 0x10
add edi, 0x10
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x34], eax
jne 0x42be32
mov ebp, dword [esp + 0x50]
mov eax, 4
mov word [ebp + 0xe], ax
jmp 0x42bd39
mov dword [esp + 0x20], edx
mov ecx, ebp
call eax
mov edx, dword [esp + 0x20]
mov esi, eax
jmp 0x42ae98
mov ecx, 0xe
mov eax, str.Invalid_params
jmp 0x42adf8
mov ecx, 0x10
mov eax, str.Method_not_found
jmp 0x42adf8
mov eax, dword [esp + 0x1c]
xor ebx, ebx
xor esi, esi
xor edi, edi
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov word [esp + 0x6c], bx
mov edx, dword [eax]
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov word [esp + 0x7c], si
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
test edx, edx
mov word [esp + 0x8c], di
je 0x42bf41
mov eax, dword [edx + 4]
add eax, 0x200
cmp eax, dword [edx]
jbe 0x42ce47
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 0xc]
cmp ebx, 0x200
jbe 0x42ce0f
test eax, eax
je 0x42dac1
mov eax, ebx
add eax, 0x10
jne 0x42ce21
mov ecx, 0x405
mov dword [esp + 0x88], 0x746485
mov word [esp + 0x8e], cx
mov dword [0], 6
mov eax, dword [esp + 0x84]
mov dword [4], eax
mov eax, dword [esp + 0x88]
mov dword [8], eax
mov eax, dword [esp + 0x8c]
mov dword [0xc], eax
ud2
mov dword [esp], eax
call sub.msvcrt.dll_memset
test eax, eax
je 0x42bc92
mov edi, dword [esp + 0x1c]
mov dword [eax], esi
mov ecx, ebx
mov dword [eax + 4], 0
mov edx, dword [edi]
mov dword [eax + 8], edx
mov dword [edi], eax
mov edx, 0x10
lea esi, [eax + edx]
mov dword [eax + 4], ecx
mov dword [esp + 0x40], esi
jmp 0x42bc9a
mov dword [esp], eax
call sub.msvcrt.dll_memset
test eax, eax
je 0x42be05
mov edi, dword [esp + 0x1c]
mov dword [eax], esi
mov ecx, ebx
mov dword [eax + 4], 0
mov edx, dword [edi]
mov dword [eax + 8], edx
mov dword [edi], eax
mov edx, 0x10
lea esi, [eax + edx]
mov dword [eax + 4], ecx
mov dword [esp + 0x40], esi
jmp 0x42be0d
mov dword [esp], eax
call sub.msvcrt.dll_memset
test eax, eax
je 0x42bb91
mov edi, dword [esp + 0x1c]
mov dword [eax], esi
mov ecx, ebx
mov dword [eax + 4], 0
mov edx, dword [edi]
mov dword [eax + 8], edx
mov dword [edi], eax
mov edx, 0x10
lea esi, [eax + edx]
mov dword [eax + 4], ecx
mov dword [esp + 0x40], esi
jmp 0x42bb99
mov dword [esp], eax
call sub.msvcrt.dll_memset
test eax, eax
je 0x42ba91
mov edi, dword [esp + 0x1c]
mov dword [eax], esi
mov ecx, ebx
mov dword [eax + 4], 0
mov edx, dword [edi]
mov dword [eax + 8], edx
mov dword [edi], eax
mov edx, 0x10
lea esi, [eax + edx]
mov dword [eax + 4], ecx
mov dword [esp + 0x40], esi
jmp 0x42ba99
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], 0
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.0063a3d0
sub esp, 0xc
jmp 0x42bd17
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], 0
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.0063a3d0
sub esp, 0xc
jmp 0x42bc16
mov eax, dword [edi - 0x10]
mov ebx, eax
mov dword [esp + 0x3c], eax
shl ebx, 5
test ebx, ebx
je 0x42c12e
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x42c10b
mov ecx, dword [eax + 4]
lea edx, [ebx + ecx]
add ecx, 0x10
cmp edx, dword [eax]
jbe 0x42ca30
mov eax, dword [esp + 0x1c]
mov ebp, ebx
cmp dword [eax + 4], ebx
cmovae ebp, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x42d7db
mov eax, ebp
add eax, 0x10
jne 0x42ca05
mov dword [esp + 0x48], 0
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x42c194
mov dword [esp + 0x58], esi
mov ebx, dword [esp + 0x48]
xor eax, eax
mov esi, dword [esp + 0x1c]
mov ebp, dword [edi - 8]
mov dword [esp + 0x5c], edi
mov edi, eax
test ebx, ebx
je 0x42c172
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov ecx, ebx
mov dword [esp], ebp
call fcn.0063a3d0
sub esp, 0xc
mov ecx, ebx
add ecx, 0x10
jne 0x42cb20
add edi, 1
add ebx, 0x20
add ebp, 0x20
cmp dword [esp + 0x3c], edi
jne 0x42c155
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x3c]
mov edx, 3
mov word [esi + 0xe], dx
mov dword [esi + 4], eax
mov dword [esi], eax
mov eax, dword [esp + 0x48]
mov dword [esi + 8], eax
jmp 0x42bd0c
cmp dx, 0x405
je 0x42d6a2
and dh, 0x10
je 0x42d165
movsx eax, byte [edi + 0xd]
mov ebx, 0xd
mov ecx, dword [esp + 0x54]
sub ebx, eax
mov eax, dword [esp + 0x30]
shl eax, 4
add ecx, eax
cmp ebx, 0xd
ja 0x42d2c3
mov eax, 0x1c05
mov word [esi + 0xe], ax
mov eax, 0xd
sub eax, ebx
mov byte [esi + 0xd], al
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov dword [esp], ebp
call sub.msvcrt.dll_putchar
mov byte [ebp + ebx], 0
jmp 0x42bb05
mov edx, dword [edi]
mov ebx, edx
shl ebx, 4
test ebx, ebx
je 0x42c25d
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x42c23a
mov ebp, dword [eax + 4]
lea ecx, [ebx + ebp]
add ebp, 0x10
cmp ecx, dword [eax]
jbe 0x42caac
mov eax, dword [esp + 0x1c]
mov ebp, ebx
cmp dword [eax + 4], ebx
cmovae ebp, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x42d79d
mov eax, ebp
add eax, 0x10
jne 0x42ca77
mov dword [esp + 0x3c], 0
test edx, edx
je 0x42c2b8
mov eax, dword [edi + 8]
mov ebx, dword [esp + 0x3c]
xor ebp, ebp
mov dword [esp + 0x48], edi
mov dword [esp + 0x58], esi
mov edi, ebp
mov ebp, edx
mov esi, eax
test ebx, ebx
je 0x42c2a1
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], 0
mov ecx, ebx
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0063a3d0
sub esp, 0xc
add edi, 1
add ebx, 0x10
add esi, 0x10
cmp ebp, edi
jne 0x42c280
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x58]
mov edx, ebp
mov eax, 4
mov dword [esi + 4], edx
mov dword [esi], edx
mov word [esi + 0xe], ax
mov eax, dword [esp + 0x3c]
mov dword [esi + 8], eax
jmp 0x42bb05
mov eax, dword [edi - 0x10]
mov ebx, eax
mov dword [esp + 0x3c], eax
shl ebx, 5
test ebx, ebx
je 0x42c320
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x42c2fd
mov ecx, dword [eax + 4]
lea edx, [ebx + ecx]
add ecx, 0x10
cmp edx, dword [eax]
jbe 0x42ca69
mov eax, dword [esp + 0x1c]
mov ebp, ebx
cmp dword [eax + 4], ebx
cmovae ebp, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x42d7c0
mov eax, ebp
add eax, 0x10
jne 0x42ca3e
mov dword [esp + 0x48], 0
mov ebp, dword [esp + 0x3c]
test ebp, ebp
je 0x42c386
mov dword [esp + 0x5c], esi
mov ebx, dword [esp + 0x48]
xor eax, eax
mov esi, dword [esp + 0x1c]
mov ebp, dword [edi - 8]
mov dword [esp + 0x58], edi
mov edi, eax
test ebx, ebx
je 0x42c364
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov ecx, ebx
mov dword [esp], ebp
call fcn.0063a3d0
sub esp, 0xc
mov ecx, ebx
add ecx, 0x10
jne 0x42cb00
add edi, 1
add ebx, 0x20
add ebp, 0x20
cmp dword [esp + 0x3c], edi
jne 0x42c347
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x3c]
mov ebx, 3
mov word [esi + 0xe], bx
mov dword [esi + 4], eax
mov dword [esi], eax
mov eax, dword [esp + 0x48]
mov dword [esi + 8], eax
jmp 0x42bc0b
cmp dx, 0x405
je 0x42d678
and dh, 0x10
je 0x42d134
movsx eax, byte [edi - 3]
mov ebx, 0xd
mov ecx, dword [esp + 0x54]
sub ebx, eax
mov eax, dword [esp + 0x30]
shl eax, 5
add ecx, eax
cmp ebx, 0xd
ja 0x42d26c
mov eax, 0x1c05
mov word [esi + 0xe], ax
mov eax, 0xd
sub eax, ebx
mov byte [esi + 0xd], al
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov dword [esp], ebp
call sub.msvcrt.dll_putchar
mov byte [ebp + ebx], 0
jmp 0x42bc0b
mov edx, dword [edi - 0x10]
mov ebx, edx
shl ebx, 4
test ebx, ebx
je 0x42c45a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x42c437
mov ebp, dword [eax + 4]
lea ecx, [ebx + ebp]
add ebp, 0x10
cmp ecx, dword [eax]
jbe 0x42c9f6
mov eax, dword [esp + 0x1c]
mov ebp, ebx
mov ecx, dword [eax + 0xc]
cmp dword [eax + 4], ebx
cmovae ebp, dword [eax + 4]
test ecx, ecx
je 0x42d77a
mov eax, ebp
add eax, 0x10
jne 0x42c9c1
mov dword [esp + 0x3c], 0
test edx, edx
je 0x42c4b5
mov eax, dword [edi - 8]
mov ebx, dword [esp + 0x3c]
xor ebp, ebp
mov dword [esp + 0x48], edi
mov dword [esp + 0x58], esi
mov esi, ebp
mov ebp, edx
mov edi, eax
test ebx, ebx
je 0x42c49e
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], 0
mov ecx, ebx
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.0063a3d0
sub esp, 0xc
add esi, 1
add ebx, 0x10
add edi, 0x10
cmp ebp, esi
jne 0x42c47d
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x58]
mov edx, ebp
mov eax, 4
mov dword [esi + 4], edx
mov dword [esi], edx
mov word [esi + 0xe], ax
mov eax, dword [esp + 0x3c]
mov dword [esi + 8], eax
jmp 0x42bc0b
cmp dx, 0x405
je 0x42d686
and dh, 0x10
je 0x42d150
movsx eax, byte [edi - 3]
mov ebx, 0xd
mov ecx, dword [esp + 0x54]
sub ebx, eax
mov eax, dword [esp + 0x30]
shl eax, 5
add ecx, eax
cmp ebx, 0xd
ja 0x42d1be
mov eax, 0x1c05
mov word [esi + 0xe], ax
mov eax, 0xd
sub eax, ebx
mov byte [esi + 0xd], al
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov dword [esp], ebp
call sub.msvcrt.dll_putchar
mov byte [ebp + ebx], 0
jmp 0x42bd0c
mov edx, dword [edi - 0x10]
mov ebx, edx
shl ebx, 4
test ebx, ebx
je 0x42c57c
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x42c559
mov ebp, dword [eax + 4]
lea ecx, [ebx + ebp]
add ebp, 0x10
cmp ecx, dword [eax]
jbe 0x42c9b2
mov eax, dword [esp + 0x1c]
mov ebp, ebx
cmp dword [eax + 4], ebx
cmovae ebp, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x42d757
mov eax, ebp
add eax, 0x10
jne 0x42c97d
mov dword [esp + 0x3c], 0
test edx, edx
je 0x42c5d7
mov eax, dword [edi - 8]
mov ebx, dword [esp + 0x3c]
xor ebp, ebp
mov dword [esp + 0x48], esi
mov dword [esp + 0x58], edi
mov edi, ebp
mov ebp, edx
mov esi, eax
test ebx, ebx
je 0x42c5c0
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], 0
mov ecx, ebx
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0063a3d0
sub esp, 0xc
add edi, 1
add ebx, 0x10
add esi, 0x10
cmp ebp, edi
jne 0x42c59f
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x58]
mov edx, ebp
mov eax, 4
mov dword [esi + 4], edx
mov dword [esi], edx
mov word [esi + 0xe], ax
mov eax, dword [esp + 0x3c]
mov dword [esi + 8], eax
jmp 0x42bd0c
mov eax, dword [edi]
mov ebx, eax
mov dword [esp + 0x3c], eax
shl ebx, 5
test ebx, ebx
je 0x42c63e
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x42c61b
mov ecx, dword [eax + 4]
lea edx, [ebx + ecx]
add ecx, 0x10
cmp edx, dword [eax]
jbe 0x42c96f
mov eax, dword [esp + 0x1c]
mov ebp, ebx
cmp dword [eax + 4], ebx
cmovae ebp, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x42d719
mov eax, ebp
add eax, 0x10
jne 0x42c944
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x42c6a4
mov dword [esp + 0x5c], esi
mov ebx, dword [esp + 0x48]
xor eax, eax
mov esi, dword [esp + 0x1c]
mov ebp, dword [edi + 8]
mov dword [esp + 0x58], edi
mov edi, eax
test ebx, ebx
je 0x42c682
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov ecx, ebx
mov dword [esp], ebp
call fcn.0063a3d0
sub esp, 0xc
mov ecx, ebx
add ecx, 0x10
jne 0x42cac0
add edi, 1
add ebx, 0x20
add ebp, 0x20
cmp dword [esp + 0x3c], edi
jne 0x42c665
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
mov eax, 3
mov word [esi + 0xe], ax
mov eax, dword [esp + 0x3c]
mov dword [esi + 4], eax
mov dword [esi], eax
mov eax, dword [esp + 0x48]
mov dword [esi + 8], eax
jmp 0x42be79
mov eax, dword [edi]
mov ebx, eax
mov dword [esp + 0x3c], eax
shl ebx, 5
test ebx, ebx
je 0x42c70f
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x42c6ec
mov ecx, dword [eax + 4]
lea edx, [ebx + ecx]
add ecx, 0x10
cmp edx, dword [eax]
jbe 0x42c936
mov eax, dword [esp + 0x1c]
mov ebp, ebx
mov edx, dword [eax + 0xc]
cmp dword [eax + 4], ebx
cmovae ebp, dword [eax + 4]
test edx, edx
je 0x42d6fe
mov eax, ebp
add eax, 0x10
jne 0x42c90b
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x42c775
mov dword [esp + 0x5c], esi
mov ebx, dword [esp + 0x48]
xor eax, eax
mov esi, dword [esp + 0x1c]
mov ebp, dword [edi + 8]
mov dword [esp + 0x58], edi
mov edi, eax
test ebx, ebx
je 0x42c753
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov ecx, ebx
mov dword [esp], ebp
call fcn.0063a3d0
sub esp, 0xc
mov ecx, ebx
add ecx, 0x10
jne 0x42cae0
add edi, 1
add ebx, 0x20
add ebp, 0x20
cmp dword [esp + 0x3c], edi
jne 0x42c736
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
mov eax, 3
mov word [esi + 0xe], ax
mov eax, dword [esp + 0x3c]
mov dword [esi + 4], eax
mov dword [esi], eax
mov eax, dword [esp + 0x48]
mov dword [esi + 8], eax
jmp 0x42bb05
cmp dx, 0x405
je 0x42d694
and dh, 0x10
je 0x42d120
movsx eax, byte [edi + 0xd]
mov ebx, 0xd
mov ecx, dword [esp + 0x54]
sub ebx, eax
mov eax, dword [esp + 0x30]
shl eax, 4
add ecx, eax
cmp ebx, 0xd
ja 0x42d215
mov eax, 0x1c05
mov word [esi + 0xe], ax
mov eax, 0xd
sub eax, ebx
mov byte [esi + 0xd], al
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov dword [esp], ebp
call sub.msvcrt.dll_putchar
mov byte [ebp + ebx], 0
jmp 0x42be79
mov edx, dword [edi]
mov ebx, edx
shl ebx, 4
test ebx, ebx
je 0x42c83e
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x42c81b
mov ebp, dword [eax + 4]
lea ecx, [ebx + ebp]
add ebp, 0x10
cmp ecx, dword [eax]
jbe 0x42c8fc
mov eax, dword [esp + 0x1c]
mov ebp, ebx
cmp dword [eax + 4], ebx
cmovae ebp, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x42d734
mov eax, ebp
add eax, 0x10
jne 0x42c8c7
mov dword [esp + 0x3c], 0
test edx, edx
je 0x42c899
mov eax, dword [edi + 8]
mov ebx, dword [esp + 0x3c]
xor ebp, ebp
mov dword [esp + 0x48], edi
mov dword [esp + 0x58], esi
mov esi, ebp
mov ebp, edx
mov edi, eax
test ebx, ebx
je 0x42c882
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], 0
mov ecx, ebx
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.0063a3d0
sub esp, 0xc
add esi, 1
add ebx, 0x10
add edi, 0x10
cmp ebp, esi
jne 0x42c861
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x58]
mov edx, ebp
mov eax, dword [esp + 0x3c]
mov ecx, 4
mov dword [esi + 4], edx
mov word [esi + 0xe], cx
mov dword [esi], edx
mov dword [esi + 8], eax
jmp 0x42be79
mov esi, dword [ebx]
mov ebx, dword [ebx + 8]
mov eax, 0x760118
test ebx, ebx
cmove ebx, eax
jmp 0x42b5ff
mov dword [esp], eax
mov dword [esp + 0x3c], edx
call sub.msvcrt.dll_memset
test eax, eax
mov edx, dword [esp + 0x3c]
je 0x42c83e
mov dword [eax], ebp
mov ebp, dword [esp + 0x1c]
mov dword [eax + 4], 0
mov ecx, dword [ebp]
mov dword [eax + 8], ecx
mov dword [ebp], eax
mov ecx, ebx
mov ebp, 0x10
lea ebx, [eax + ebp]
mov dword [eax + 4], ecx
mov dword [esp + 0x3c], ebx
jmp 0x42c846
mov dword [esp], eax
call sub.msvcrt.dll_memset
test eax, eax
je 0x42c70f
mov ecx, dword [esp + 0x1c]
mov dword [eax], ebp
mov dword [eax + 4], 0
mov edx, dword [ecx]
mov dword [eax + 8], edx
mov dword [ecx], eax
mov edx, ebx
mov ecx, 0x10
add ecx, eax
mov dword [eax + 4], edx
mov dword [esp + 0x48], ecx
jmp 0x42c717
mov dword [esp], eax
call sub.msvcrt.dll_memset
test eax, eax
je 0x42c63e
mov ecx, dword [esp + 0x1c]
mov dword [eax], ebp
mov dword [eax + 4], 0
mov edx, dword [ecx]
mov dword [eax + 8], edx
mov dword [ecx], eax
mov edx, ebx
mov ecx, 0x10
add ecx, eax
mov dword [eax + 4], edx
mov dword [esp + 0x48], ecx
jmp 0x42c646
mov dword [esp], eax
mov dword [esp + 0x3c], edx
call sub.msvcrt.dll_memset
test eax, eax
mov edx, dword [esp + 0x3c]
je 0x42c57c
mov dword [eax], ebp
mov ebp, dword [esp + 0x1c]
mov dword [eax + 4], 0
mov ecx, dword [ebp]
mov dword [eax + 8], ecx
mov dword [ebp], eax
mov ecx, ebx
mov ebp, 0x10
lea ebx, [eax + ebp]
mov dword [eax + 4], ecx
mov dword [esp + 0x3c], ebx
jmp 0x42c584
mov dword [esp], eax
mov dword [esp + 0x3c], edx
call sub.msvcrt.dll_memset
test eax, eax
mov edx, dword [esp + 0x3c]
je 0x42c45a
mov dword [eax], ebp
mov ebp, dword [esp + 0x1c]
mov dword [eax + 4], 0
mov ecx, dword [ebp]
mov dword [eax + 8], ecx
mov dword [ebp], eax
mov ecx, ebx
mov ebp, 0x10
lea ebx, [eax + ebp]
mov dword [eax + 4], ecx
mov dword [esp + 0x3c], ebx
jmp 0x42c462
mov dword [esp], eax
call sub.msvcrt.dll_memset
test eax, eax
je 0x42c12e
mov ecx, dword [esp + 0x1c]
mov dword [eax], ebp
mov dword [eax + 4], 0
mov edx, dword [ecx]
mov dword [eax + 8], edx
mov dword [ecx], eax
mov edx, ebx
mov ecx, 0x10
add ecx, eax
mov dword [eax + 4], edx
mov dword [esp + 0x48], ecx
jmp 0x42c136
mov dword [esp], eax
call sub.msvcrt.dll_memset
test eax, eax
je 0x42c320
mov ecx, dword [esp + 0x1c]
mov dword [eax], ebp
mov dword [eax + 4], 0
mov edx, dword [ecx]
mov dword [eax + 8], edx
mov dword [ecx], eax
mov edx, ebx
mov ecx, 0x10
add ecx, eax
mov dword [eax + 4], edx
mov dword [esp + 0x48], ecx
jmp 0x42c328
mov dword [esp], eax
mov dword [esp + 0x3c], edx
call sub.msvcrt.dll_memset
test eax, eax
mov edx, dword [esp + 0x3c]
je 0x42c25d
mov dword [eax], ebp
mov ebp, dword [esp + 0x1c]
mov dword [eax + 4], 0
mov ecx, dword [ebp]
mov dword [eax + 8], ecx
mov dword [ebp], eax
mov ecx, ebx
mov ebp, 0x10
lea ebx, [eax + ebp]
mov dword [eax + 4], ecx
mov dword [esp + 0x3c], ebx
jmp 0x42c265
lea edx, [ebp + 0x10]
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], edx
call fcn.0063a3d0
sub esp, 0xc
jmp 0x42c68d
lea edx, [ebp + 0x10]
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], edx
call fcn.0063a3d0
sub esp, 0xc
jmp 0x42c75e
lea edx, [ebp + 0x10]
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], edx
call fcn.0063a3d0
sub esp, 0xc
jmp 0x42c36f
lea edx, [ebp + 0x10]
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], edx
call fcn.0063a3d0
sub esp, 0xc
jmp 0x42c17d
mov esi, dword [eax + 8]
mov ebx, dword [eax]
mov eax, 0x760118
test esi, esi
cmove esi, eax
jmp 0x42ba02
mov esi, dword [eax - 8]
mov ebx, dword [eax - 0x10]
mov eax, 0x760118
test esi, esi
cmove esi, eax
jmp 0x42bd7e
mov eax, 0xc05
cmp esi, 0xffffffff
mov dword [esp + 0x70], esi
mov word [esp + 0x7e], ax
je 0x42cbbf
mov eax, dword [esp + 0x1c]
lea edi, [esi + 8]
and edi, 0xfffffff8
mov eax, dword [eax]
test eax, eax
je 0x42cba0
mov ecx, dword [eax + 4]
lea edx, [edi + ecx]
add ecx, 0x10
cmp edx, dword [eax]
jbe 0x42cbf9
mov eax, dword [esp + 0x1c]
mov edx, edi
cmp dword [eax + 4], edi
cmovae edx, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x42d844
mov eax, edx
add eax, 0x10
jne 0x42cbca
xor edi, edi
mov dword [esp + 0x78], edi
jmp 0x42b623
mov dword [esp], eax
mov dword [esp + 0x24], edx
call sub.msvcrt.dll_memset
test eax, eax
je 0x42cbbf
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov dword [eax + 4], 0
mov dword [eax], edx
mov edx, dword [ecx]
mov dword [eax + 8], edx
mov dword [ecx], eax
mov edx, edi
mov ecx, 0x10
lea edi, [eax + ecx]
mov dword [eax + 4], edx
jmp 0x42cbc1
mov dword [esp], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], edx
call sub.msvcrt.dll_memset
test eax, eax
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
je 0x42b2c1
mov dword [eax], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + 4], 0
mov dword [esp + 0x28], 0x10
mov edx, dword [edx]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x1c]
mov dword [edx], eax
mov edx, edi
mov edi, dword [esp + 0x28]
mov dword [eax + 4], edx
add edi, eax
je 0x42b2c1
test esi, esi
jne 0x42d3e2
mov eax, dword [esp + 0x20]
mov ebx, edi
mov edx, dword [eax]
jmp 0x42b2c9
mov dword [esp], eax
mov dword [esp + 0x2c], edx
call sub.msvcrt.dll_memset
test eax, eax
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x2c]
je 0x42b0d7
mov ecx, eax
mov eax, dword [esp + 0x28]
mov dword [ecx + 4], 0
mov dword [ecx], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], 0x10
mov dword [eax], ecx
mov eax, edx
mov ecx, dword [esp + 0x24]
mov dword [ecx + 4], eax
mov eax, ecx
add eax, dword [esp + 0x28]
je 0x42b0d7
test edi, edi
jne 0x42d3c9
mov edx, dword [esi]
mov ebx, eax
jmp 0x42b0db
mov ecx, ebp
call eax
mov edx, eax
jmp 0x42b374
mov eax, 0xc05
cmp ebx, 0xffffffff
mov dword [ebp], ebx
mov word [ebp + 0xe], ax
je 0x42cd3d
mov eax, dword [esp + 0x1c]
lea edi, [ebx + 8]
and edi, 0xfffffff8
mov eax, dword [eax]
test eax, eax
je 0x42cd1e
mov edx, dword [eax + 4]
lea ecx, [edi + edx]
add edx, 0x10
cmp ecx, dword [eax]
jbe 0x42cd78
mov eax, dword [esp + 0x1c]
mov edx, edi
cmp dword [eax + 4], edi
cmovae edx, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x42d8b5
mov eax, edx
add eax, 0x10
jne 0x42cd49
xor edx, edx
mov dword [ebp + 8], edx
mov edi, edx
jmp 0x42ba1e
mov dword [esp], eax
mov dword [esp + 0x30], edx
call sub.msvcrt.dll_memset
test eax, eax
je 0x42cd3d
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
mov dword [eax + 4], 0
mov dword [eax], edx
mov edx, dword [ecx]
mov dword [eax + 8], edx
mov dword [ecx], eax
mov edx, 0x10
mov ecx, edi
add edx, eax
mov dword [eax + 4], ecx
jmp 0x42cd3f
mov edi, 0xc05
cmp ebx, 0xffffffff
mov dword [ebp], ebx
mov word [ebp + 0xe], di
je 0x42cdcd
mov eax, dword [esp + 0x1c]
lea edi, [ebx + 8]
and edi, 0xfffffff8
mov eax, dword [eax]
test eax, eax
je 0x42cdae
mov edx, dword [eax + 4]
lea ecx, [edi + edx]
add edx, 0x10
cmp ecx, dword [eax]
jbe 0x42ce08
mov eax, dword [esp + 0x1c]
mov edx, edi
mov ecx, dword [eax + 0xc]
cmp dword [eax + 4], edi
cmovae edx, dword [eax + 4]
test ecx, ecx
je 0x42d867
mov eax, edx
add eax, 0x10
jne 0x42cdd9
xor edx, edx
mov dword [ebp + 8], edx
mov edi, edx
jmp 0x42bd9a
mov dword [esp], eax
mov dword [esp + 0x30], edx
call sub.msvcrt.dll_memset
test eax, eax
je 0x42cdcd
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
mov dword [eax + 4], 0
mov dword [eax], edx
mov edx, dword [ecx]
mov dword [eax + 8], edx
mov dword [ecx], eax
mov edx, 0x10
mov ecx, edi
add edx, eax
mov dword [eax + 4], ecx
jmp 0x42cdcf
test eax, eax
je 0x42dabc
mov eax, 0x210
mov ebx, 0x200
mov dword [esp], eax
call sub.msvcrt.dll_memset
test eax, eax
je 0x42bf6a
mov esi, dword [esp + 0x1c]
mov dword [eax], ebx
mov dword [eax + 4], 0
mov edx, dword [esi]
mov dword [eax + 8], edx
mov edx, eax
mov dword [esi], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x80], 6
lea edi, [ebp + 0x50]
mov dword [esp + 0x88], 0x746485
mov dword [esp + 0x70], 2
mov dword [esp + 0x78], 0x74648c
lea ebx, [edx + eax + 0x10]
add eax, 0x200
mov dword [edx + 4], eax
mov eax, 0x405
mov word [esp + 0x8e], ax
mov eax, dword [esp + 0x84]
mov dword [ebx], 6
mov dword [ebx + 8], 0x746485
mov dword [ebx + 0x10], 2
mov dword [ebx + 0x18], 0x74648c
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x8c]
mov dword [ebx + 0xc], eax
mov eax, 0x405
mov word [esp + 0x7e], ax
mov eax, dword [esp + 0x74]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x7c]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp]
mov eax, dword [eax + 0x34]
cmp eax, 0x5587c0
jne 0x42d6f3
xor eax, eax
mov ecx, dword [edi]
mov esi, dword [edi + 8]
mov word [esp + 0x8c], ax
mov eax, dword [edi + 4]
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x20], esi
cmp ecx, eax
mov dword [esp + 0x24], eax
jb 0x42cfc1
test eax, eax
jne 0x42d6b0
test esi, esi
je 0x42d9de
mov dword [esp + 0x28], 0x10
mov dword [esp + 0x2c], 0x200
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov eax, dword [edx + 4]
mov esi, dword [edx]
mov dword [esp + 0x30], eax
mov eax, edx
sub eax, dword [esp + 0x24]
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x30]
lea eax, [eax + esi + 0x10]
cmp dword [esp + 0x20], eax
je 0x42d9c2
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
add eax, ecx
cmp eax, dword [esp + 0x34]
mov dword [esp + 0x38], ecx
jbe 0x42d07a
mov eax, dword [esp + 0x1c]
cmp dword [eax + 4], ecx
cmovae ecx, dword [eax + 4]
cmp dword [eax + 0xc], 0
mov dword [esp + 0x2c], ecx
je 0x42da86
mov eax, dword [esp + 0x2c]
add eax, 0x10
jne 0x42d050
mov ecx, dword [edi]
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x20]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x28]
mov dword [edi + 4], eax
mov eax, 0x405
mov edx, dword [esp + 0x84]
shl ecx, 5
mov word [esp + 0x8e], ax
lea eax, [esi + ecx]
mov dword [esp + 0x80], 6
mov dword [esp + 0x88], 0x74647e
mov dword [esp + 0x60], 1
mov dword [eax + 4], edx
mov edx, dword [esp + 0x8c]
mov dword [eax], 6
mov dword [eax + 8], 0x74647e
mov dword [esp + 0x64], 0x10
mov dword [esp + 0x68], ebx
mov dword [eax + 0xc], edx
mov eax, dword [edi]
shl eax, 5
add esi, eax
mov eax, 3
mov word [esp + 0x6e], ax
mov eax, dword [esp + 0x6c]
mov dword [esi + 0x10], 1
mov dword [esi + 0x14], 0x10
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], eax
add dword [edi], 1
jmp 0x42aff2
mov dword [esp], eax
call sub.msvcrt.dll_memset
test eax, eax
je 0x42cfa5
mov esi, dword [esp + 0x2c]
mov dword [eax + 4], 0
mov dword [eax], esi
mov esi, dword [esp + 0x1c]
mov edx, dword [esi]
mov dword [eax + 8], edx
mov edx, eax
mov dword [esi], eax
mov eax, dword [edx + 4]
lea ecx, [edx + eax + 0x10]
add eax, dword [esp + 0x38]
test ecx, ecx
mov dword [edx + 4], eax
je 0x42cfa5
cmp dword [esp + 0x24], 0
jne 0x42da63
mov dword [esp + 0x20], ecx
mov ecx, dword [edi]
jmp 0x42cfaf
mov dword [esp], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], edx
call sub.msvcrt.dll_memset
test eax, eax
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
je 0x42af5b
mov edi, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x38], 0x10
mov dword [edi + 4], 0
mov dword [edi], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], edi
mov eax, ecx
mov ecx, dword [esp + 0x28]
mov dword [ecx + 4], eax
add ecx, dword [esp + 0x38]
je 0x42af5b
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x42d5df
mov eax, dword [esi]
mov ebx, ecx
jmp 0x42af5f
mov ecx, dword [edi + 8]
mov eax, 0x760118
mov ebx, dword [edi]
test ecx, ecx
cmove ecx, eax
jmp 0x42c7bf
mov ecx, dword [edi - 8]
mov eax, 0x760118
mov ebx, dword [edi - 0x10]
test ecx, ecx
cmove ecx, eax
jmp 0x42c3d0
mov ecx, dword [edi - 8]
mov eax, 0x760118
mov ebx, dword [edi - 0x10]
test ecx, ecx
cmove ecx, eax
jmp 0x42c4fc
mov ecx, dword [edi + 8]
mov eax, 0x760118
mov ebx, dword [edi]
test ecx, ecx
cmove ecx, eax
jmp 0x42c1de
mov edi, dword [esp + 0x30]
sub edi, esi
add edi, dword [esp + 0x24]
cmp dword [esp + 0x2c], edi
jb 0x42b28a
mov dword [eax + 4], edi
jmp 0x42b2c9
mov eax, dword [esp + 0x2c]
sub eax, edi
add eax, ecx
cmp eax, dword [esp + 0x30]
ja 0x42b09e
mov edi, dword [esp + 0x24]
mov dword [edi + 4], eax
jmp 0x42b0db
mov eax, 0xc05
cmp ebx, 0xffffffff
mov dword [esi], ebx
mov word [esi + 0xe], ax
je 0x42d49c
mov eax, dword [esp + 0x1c]
lea ebp, [ebx + 8]
and ebp, 0xfffffff8
mov edx, dword [eax]
test edx, edx
mov dword [esp + 0x3c], edx
je 0x42d47d
mov eax, dword [edx + 4]
mov dword [esp + 0x48], eax
add eax, ebp
cmp eax, dword [edx]
ja 0x42d47d
mov edx, dword [esp + 0x48]
add edx, 0x10
mov ebp, dword [esp + 0x3c]
add edx, ebp
mov dword [ebp + 4], eax
mov dword [esi + 8], edx
mov ebp, edx
jmp 0x42c518
mov eax, 0xc05
cmp ebx, 0xffffffff
mov dword [esi], ebx
mov word [esi + 0xe], ax
je 0x42d426
mov eax, dword [esp + 0x1c]
lea ebp, [ebx + 8]
and ebp, 0xfffffff8
mov edx, dword [eax]
test edx, edx
mov dword [esp + 0x3c], edx
je 0x42d407
mov eax, dword [edx + 4]
mov dword [esp + 0x48], eax
add eax, ebp
cmp eax, dword [edx]
ja 0x42d407
mov edx, dword [esp + 0x48]
add edx, 0x10
mov ebp, dword [esp + 0x3c]
add edx, ebp
mov dword [ebp + 4], eax
mov dword [esi + 8], edx
mov ebp, edx
jmp 0x42c7db
mov eax, 0xc05
cmp ebx, 0xffffffff
mov dword [esi], ebx
mov word [esi + 0xe], ax
je 0x42d512
mov eax, dword [esp + 0x1c]
lea ebp, [ebx + 8]
and ebp, 0xfffffff8
mov edx, dword [eax]
test edx, edx
mov dword [esp + 0x3c], edx
je 0x42d4f3
mov eax, dword [edx + 4]
mov dword [esp + 0x48], eax
add eax, ebp
cmp eax, dword [edx]
ja 0x42d4f3
mov edx, dword [esp + 0x48]
add edx, 0x10
mov ebp, dword [esp + 0x3c]
add edx, ebp
mov dword [ebp + 4], eax
mov dword [esi + 8], edx
mov ebp, edx
jmp 0x42c3ec
mov edx, 0xc05
cmp ebx, 0xffffffff
mov dword [esi], ebx
mov word [esi + 0xe], dx
je 0x42d588
mov eax, dword [esp + 0x1c]
lea ebp, [ebx + 8]
and ebp, 0xfffffff8
mov edx, dword [eax]
test edx, edx
mov dword [esp + 0x3c], edx
je 0x42d569
mov eax, dword [edx + 4]
mov dword [esp + 0x48], eax
add eax, ebp
cmp eax, dword [edx]
ja 0x42d569
mov edx, dword [esp + 0x48]
add edx, 0x10
mov ebp, dword [esp + 0x3c]
add edx, ebp
mov dword [ebp + 4], eax
mov dword [esi + 8], edx
mov ebp, edx
jmp 0x42c1fa
mov ecx, dword [esp + 0x34]
sub ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x2c]
add ecx, edi
cmp dword [esp + 0x30], ecx
jb 0x42af1e
mov edi, dword [esp + 0x28]
mov dword [edi + 4], ecx
jmp 0x42af5f
mov dword [esp], 1
call fcn.006ff530
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x42b682
mov dword [esp], 1
call fcn.006ff530
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x42b500
mov esi, dword [esp + 0x24]
mov eax, 0x405
mov word [ebp + 0xe], ax
mov eax, dword [esi - 0x10]
mov dword [ebp], eax
mov eax, dword [esi - 0xc]
mov dword [ebp + 4], eax
mov eax, dword [esi - 8]
mov dword [ebp + 8], eax
mov eax, dword [esi - 4]
mov dword [ebp + 0xc], eax
jmp 0x42b590
mov esi, dword [esp + 0x24]
mov eax, 0x405
mov word [ebp + 0xe], ax
mov eax, dword [esi]
mov dword [ebp], eax
mov eax, dword [esi + 4]
mov dword [ebp + 4], eax
mov eax, dword [esi + 8]
mov dword [ebp + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ebp + 0xc], eax
jmp 0x42b70e
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov ebx, eax
mov dword [esp], eax
call sub.msvcrt.dll_putchar
mov edx, dword [esi]
jmp 0x42b0db
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov ebx, edi
mov dword [esp], edi
mov dword [esp + 0x1c], ecx
call sub.msvcrt.dll_putchar
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax]
jmp 0x42b2c9
mov eax, dword [esp + 0x1c]
mov edx, ebp
cmp dword [eax + 4], ebp
cmovae edx, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x42d959
mov eax, edx
add eax, 0x10
jne 0x42d42d
xor edx, edx
jmp 0x42d262
mov dword [esp], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x48], edx
call sub.msvcrt.dll_memset
test eax, eax
mov ecx, dword [esp + 0x3c]
je 0x42d426
mov edx, dword [esp + 0x48]
mov dword [esp + 0x3c], eax
mov dword [eax + 4], 0
mov dword [eax], edx
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x3c]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x3c]
mov dword [eax], edx
mov eax, ebp
mov edx, 0x10
jmp 0x42d259
mov eax, dword [esp + 0x1c]
mov edx, ebp
cmp dword [eax + 4], ebp
cmovae edx, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x42d92e
mov eax, edx
add eax, 0x10
jne 0x42d4a3
xor edx, edx
jmp 0x42d20b
mov dword [esp], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x3c], edx
call sub.msvcrt.dll_memset
test eax, eax
mov ecx, dword [esp + 0x48]
je 0x42d49c
mov edx, dword [esp + 0x3c]
mov dword [eax + 4], 0
mov dword [esp + 0x3c], eax
mov dword [eax], edx
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x3c]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x3c]
mov dword [eax], edx
mov eax, ebp
mov edx, 0x10
jmp 0x42d202
mov eax, dword [esp + 0x1c]
mov edx, ebp
cmp dword [eax + 4], ebp
cmovae edx, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x42d903
mov eax, edx
add eax, 0x10
jne 0x42d519
xor edx, edx
jmp 0x42d2b9
mov dword [esp], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x48], edx
call sub.msvcrt.dll_memset
test eax, eax
mov ecx, dword [esp + 0x3c]
je 0x42d512
mov edx, dword [esp + 0x48]
mov dword [esp + 0x3c], eax
mov dword [eax + 4], 0
mov dword [eax], edx
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x3c]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x3c]
mov dword [eax], edx
mov eax, ebp
mov edx, 0x10
jmp 0x42d2b0
mov eax, dword [esp + 0x1c]
mov edx, ebp
cmp dword [eax + 4], ebp
cmovae edx, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x42d8d8
mov eax, edx
add eax, 0x10
jne 0x42d58f
xor edx, edx
jmp 0x42d310
mov dword [esp], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x48], edx
call sub.msvcrt.dll_memset
test eax, eax
mov ecx, dword [esp + 0x3c]
je 0x42d588
mov edx, dword [esp + 0x48]
mov dword [esp + 0x3c], eax
mov dword [eax + 4], 0
mov dword [eax], edx
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x3c]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x3c]
mov dword [eax], edx
mov eax, ebp
mov edx, 0x10
jmp 0x42d307
mov eax, dword [esp + 0x20]
mov dword [esp + 4], ebx
mov dword [esp], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 8], eax
call sub.msvcrt.dll_putchar
mov ecx, dword [esp + 0x20]
mov eax, dword [esi]
mov edx, dword [esp + 0x28]
mov ebx, ecx
jmp 0x42af5f
mov dword [esp], 1
call fcn.006ff530
mov edi, dword [esp + 0x1c]
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], eax
jmp 0x42bb86
mov dword [esp], 1
call fcn.006ff530
mov edi, dword [esp + 0x1c]
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], eax
jmp 0x42bdfa
mov dword [esp], 1
call fcn.006ff530
mov edi, dword [esp + 0x1c]
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], eax
jmp 0x42ba86
mov dword [esp], 1
call fcn.006ff530
mov edi, dword [esp + 0x1c]
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], eax
jmp 0x42bc87
mov eax, 0x405
mov word [esi + 0xe], ax
jmp 0x42bbf4
mov eax, 0x405
mov word [esi + 0xe], ax
jmp 0x42bcf5
mov edx, 0x405
mov word [esi + 0xe], dx
jmp 0x42be63
mov eax, 0x405
mov word [esi + 0xe], ax
jmp 0x42baef
mov edx, eax
lea eax, [eax + 1]
shr eax, 1
add eax, edx
cmp edx, eax
mov dword [esp + 0x28], eax
jae 0x42cfc1
shl eax, 5
shl edx, 5
cmp dword [esp + 0x20], 0
je 0x42dadc
test eax, eax
je 0x42cfa7
cmp edx, eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x2c], eax
jae 0x42cfaf
jmp 0x42cf3c
mov ecx, ebp
call eax
mov edi, eax
jmp 0x42cee4
mov dword [esp], 1
call fcn.006ff530
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x42c704
mov dword [esp], 1
call fcn.006ff530
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x42c633
mov dword [esp], 1
mov dword [esp + 0x3c], edx
call fcn.006ff530
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x42c833
mov dword [esp], 1
mov dword [esp + 0x3c], edx
call fcn.006ff530
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x42c571
mov dword [esp], 1
mov dword [esp + 0x3c], edx
call fcn.006ff530
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x42c44f
mov dword [esp], 1
mov dword [esp + 0x3c], edx
call fcn.006ff530
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x42c252
mov dword [esp], 1
call fcn.006ff530
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x42c315
mov dword [esp], 1
call fcn.006ff530
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x42c123
mov dword [esp], 1
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], edx
call fcn.006ff530
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov ecx, dword [esp + 0x28]
jmp 0x42b2b6
mov dword [esp], 1
mov dword [esp + 0x24], edx
call fcn.006ff530
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x42b0ca
mov dword [esp], 1
mov dword [esp + 0x24], edx
call fcn.006ff530
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x42cbb8
mov dword [esp], 1
mov dword [esp + 0x30], edx
call fcn.006ff530
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x42cdc6
mov dword [esp], 1
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], edx
call fcn.006ff530
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], eax
jmp 0x42af4e
mov dword [esp], 1
mov dword [esp + 0x30], edx
call fcn.006ff530
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x42cd36
mov dword [esp], 1
mov dword [esp + 0x48], edx
mov dword [esp + 0x3c], ecx
call fcn.006ff530
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x48]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov ecx, dword [esp + 0x3c]
jmp 0x42d581
mov dword [esp], 1
mov dword [esp + 0x48], edx
mov dword [esp + 0x3c], ecx
call fcn.006ff530
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x48]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov ecx, dword [esp + 0x3c]
jmp 0x42d50b
mov dword [esp], 1
mov dword [esp + 0x48], ecx
mov dword [esp + 0x3c], edx
call fcn.006ff530
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov ecx, dword [esp + 0x48]
jmp 0x42d495
mov dword [esp], 1
mov dword [esp + 0x48], edx
mov dword [esp + 0x3c], ecx
call fcn.006ff530
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x48]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov ecx, dword [esp + 0x3c]
jmp 0x42d41f
mov dword [esp], 1
mov dword [esp + 0x24], ecx
call fcn.006ff530
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov ecx, dword [esp + 0x24]
jmp 0x42b822
mov dword [esp], 1
call fcn.006ff530
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x42b8b4
mov eax, esi
sub eax, dword [esp + 0x24]
add eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x34]
ja 0x42cf67
mov dword [edx + 4], eax
jmp 0x42cfaf
mov eax, 0x200
mov dword [esp + 0x28], 0x10
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
mov edx, dword [esi]
test edx, edx
je 0x42da00
add eax, dword [edx + 4]
cmp eax, dword [edx]
jbe 0x42da4c
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x24]
cmp dword [eax + 4], esi
cmovae esi, dword [eax + 4]
cmp dword [eax + 0xc], 0
je 0x42daa1
mov eax, esi
add eax, 0x10
je 0x42cfa5
mov dword [esp], eax
call sub.msvcrt.dll_memset
test eax, eax
je 0x42cfa5
mov dword [eax], esi
mov esi, dword [esp + 0x1c]
mov ecx, dword [edi]
mov dword [eax + 4], 0
mov edx, dword [esi]
mov dword [eax + 8], edx
mov edx, eax
mov dword [esi], eax
mov eax, dword [edx + 4]
lea esi, [edx + eax + 0x10]
add eax, dword [esp + 0x24]
mov dword [esp + 0x20], esi
mov dword [edx + 4], eax
jmp 0x42cfaf
mov eax, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], ecx
mov dword [esp + 4], eax
call sub.msvcrt.dll_putchar
mov ecx, dword [edi]
jmp 0x42cfaf
mov dword [esp], 1
call fcn.006ff530
mov esi, dword [esp + 0x1c]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
jmp 0x42cf98
mov dword [esp], 1
call fcn.006ff530
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x42da19
mov ebx, 0x200
mov dword [esp], 1
call fcn.006ff530
mov esi, dword [esp + 0x1c]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
jmp 0x42bf5f
test eax, eax
je 0x42cfa7
jmp 0x42d9eb
xor ebx, ebx
jmp 0x42af5f
xor ebx, ebx
jmp 0x42b2c9
test eax, eax
je 0x42b2c9
jmp 0x42b7f1
xor ebx, ebx
jmp 0x42b0db
test eax, eax
je 0x42b0db
jmp 0x42b87f