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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x4408
call fcn.004b4520
push esi
push edi
push 0x40
lea eax, [esp + 0x164]
mov dword [esp + 0x1c], 0
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x120]
push 0x40
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x1a0]
xorps xmm0, xmm0
movaps xmmword [esp + 0xf0], xmm0
push 0x40
push 0
push eax
call sub.VCRUNTIME140.dll_memset
lea eax, [esp + 0x64]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x40], eax
add esp, 0xc
cdq
xor esi, esi
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x68]
mov dword [esp + 0xb4], eax
lea eax, [esp + 0x100]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0xbc], eax
lea eax, [esp + 0x90]
mov dword [esp + 0xc0], eax
mov eax, dword [str._UInt]
mov dword [esp + 0x1e0], eax
mov ax, word [0x4c1204]
mov word [esp + 0x1e4], ax
mov al, byte [0x4c1206]
push 0x21b
mov byte [esp + 0x1ea], al
lea eax, [esp + 0x1eb]
push esi
push eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x30], esi
mov dword [esp + 0x98], 1
mov dword [esp + 0x7c], 4
mov dword [esp + 0x114], 1
mov dword [esp + 0xb4], 1
mov dword [esp + 0xb0], edx
mov dword [esp + 0xa4], 1
call sub.VCRUNTIME140.dll_memset
mov edx, dword [ebp + 0xc]
add esp, 0xc
mov byte [esp + 0x1e0], 0x20
mov byte [esp + 0x1c], 0
mov dword [edx + 8], esi
mov esi, dword [ebp + 0x10]
mov dword [edx], 0x4b6ba9
mov eax, dword [esi]
mov ecx, dword [eax + 8]
cmp ecx, 6
je 0x490c96
cmp ecx, 4
jne 0x490d5e
mov eax, dword [eax]
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x490c80
mov edx, dword [eax + 0xc]
jmp 0x490c82
mov edx, eax
test byte [edx + 0x15], 2
je 0x490d47
test cl, cl
jne 0x490c93
mov eax, dword [eax + 0xc]
mov edx, dword [ebp + 0xc]
cmp dword [eax], 0
je 0x490d5e
mov dword [edx + 8], 1
mov eax, dword [esi]
mov ecx, dword [eax + 8]
cmp ecx, 6
jne 0x490cb4
mov edi, dword [eax]
jmp 0x490cf3
cmp ecx, 4
jne 0x490cf1
mov eax, dword [eax]
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x490cc7
mov edx, dword [eax + 0xc]
jmp 0x490cc9
mov edx, eax
test byte [edx + 0x15], 2
je 0x490cda
test cl, cl
jne 0x490cd6
mov eax, dword [eax + 0xc]
mov edi, dword [eax]
jmp 0x490cf3
test cl, cl
jne 0x490ce3
mov ecx, dword [eax + 0xc]
jmp 0x490ce5
mov ecx, eax
test byte [ecx + 0x15], 4
je 0x490cf1
push eax
call fcn.0043f510
xor edi, edi
cmp dword [ebp + 0x14], 1
jle 0x490d20
mov ecx, dword [esi + 4]
mov edx, 1
call fcn.004686d0
mov ecx, eax
mov esi, edx
mov eax, dword [edi + 0x18]
cdq
add eax, ecx
mov ecx, dword [ebp + 0xc]
adc edx, esi
mov dword [ecx + 4], edx
mov dword [ecx], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x18]
xorps xmm0, xmm0
movlpd qword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
cdq
add eax, ecx
mov ecx, dword [ebp + 0xc]
adc edx, esi
mov dword [ecx + 4], edx
mov dword [ecx], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test cl, cl
jne 0x490d50
mov ecx, dword [eax + 0xc]
jmp 0x490d52
mov ecx, eax
test byte [ecx + 0x15], 4
je 0x490d5e
push eax
call fcn.0043f510
mov edi, dword [ebp + 0x14]
cmp edi, 1
jle 0x490d8f
mov ecx, dword [esi + 4]
call fcn.004685f0
test eax, eax
je 0x490d8f
mov ecx, dword [esi + 4]
xor edx, edx
call fcn.004686d0
mov dword [esp + 0x18], eax
cdq
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], edx
cmp edi, 2
jle 0x490dc0
mov ecx, dword [esi + 8]
call fcn.004685f0
test eax, eax
je 0x490dc0
mov ecx, dword [esi + 8]
mov edx, 1
call fcn.004686d0
mov dword [esp + 0x34], eax
cdq
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
cmp edx, 5
ja case.0x490dca.1
jmp dword [edx*4 + 0x491f6c]
mov ecx, dword [ecx]
push 0
push 1
call fcn.00401550
jmp 0x490de7
mov eax, dword [ecx]
jmp 0x490de7
mov eax, 0x4b6ba9
mov dword [esp + 0x10], eax
mov ecx, eax
nop dword [eax]
mov al, byte [ecx]
cmp al, 0x20
je 0x490dfa
cmp al, 9
jne 0x490dfd
inc ecx
jmp 0x490df0
mov edx, dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov dword [esp + 0x50], edx
mov edx, dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
mov dword [esp + 0x4c], edx
mov edx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
mov dword [esp + 0x48], edx
test al, al
je 0x490e63
cmp al, 0x2d
je 0x490e27
cmp al, 0x2b
jne 0x490e2e
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x490e63
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x490e3d
cmp al, 0x58
jne 0x490e63
movsx eax, byte [ecx + 2]
push eax
call edx
add esp, 4
test eax, eax
je 0x490e63
mov ecx, dword [esp + 0x10]
push 0x10
push 0
push ecx
call dword [esp + 0x58]
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x28], ecx
jmp 0x490e75
mov ecx, dword [esp + 0x10]
push ecx
call dword [esp + 0x54]
add esp, 4
mov dword [esp + 0x28], eax
mov ecx, eax
mov eax, dword [0x4c8024]
cmp byte [eax + 0xd5], 0x44
jne 0x490e9b
push 0xa
lea eax, [esp + 0xc8]
push eax
push ecx
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itoa]
add esp, 0xc
mov ecx, eax
jmp 0x490f02
movzx eax, byte [esp + 0xc4]
test ecx, ecx
mov edx, 0x2d
cmovs eax, edx
lea edx, [esp + 0xc5]
mov byte [esp + 0xc4], al
lea eax, [esp + 0xc4]
cmovs eax, edx
lea edi, [eax + 1]
push 0x10
mov byte [eax], 0x30
mov eax, ecx
cdq
mov byte [edi], 0x78
xor eax, edx
inc edi
sub eax, edx
push edi
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itoa]
mov eax, dword [0x4c8024]
add esp, 0xc
cmp byte [eax + 0xd5], 0x48
jne 0x490ef8
push edi
call dword [sym.imp.USER32.dll_CharUpperA]
mov edi, dword [ebp + 0x14]
lea ecx, [esp + 0xc4]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x490f05
mov eax, dword [esp + 0x10]
sub ecx, edx
cmp byte [ecx + eax], 0x3a
jne 0x490f59
cmp dword [esp + 0x28], 0
jle 0x490f59
lea ecx, [esp + 0xc4]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x490f30
mov eax, dword [esp + 0x10]
sub ecx, edx
inc eax
add eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
cdq
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
jmp 0x490f6d
xorps xmm0, xmm0
mov dword [esp + 0x28], 0
movlpd qword [esp + 0x90], xmm0
cmp edi, 3
jle 0x490f9e
mov ecx, dword [esi + 0xc]
call fcn.004685f0
test eax, eax
je 0x490f9e
mov ecx, dword [esi + 0xc]
mov edx, 1
call fcn.004686d0
mov dword [esp + 0x28], eax
cdq
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
mov edi, dword [esp + 0x10]
cmp byte [edi], 0
je 0x491f34
mov eax, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbschr]
mov ecx, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbcmp]
mov dword [esp + 0x20], eax
mov eax, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsstr]
mov dword [esp + 0x5c], eax
mov eax, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbscspn]
mov dword [esp + 0x30], eax
mov eax, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbcpy]
mov dword [esp + 0x44], eax
mov eax, dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__strtoi64]
mov dword [esp + 0x7c], eax
mov eax, dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__atoi64]
mov dword [esp + 0x80], eax
mov eax, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbicmp]
mov dword [esp + 0x84], eax
mov eax, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbscmp]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x88], eax
nop word [eax + eax]
mov eax, dword [esp + 0x2c]
push 2
push 0x4c1208
push edi
mov dword [esp + 0x60], eax
mov dword [esp + 0x84], eax
call ecx
add esp, 0xc
test eax, eax
jne 0x49107c
mov ah, byte [edi]
mov esi, edi
test ah, ah
je 0x49105f
mov dl, ah
nop word [eax + eax]
mov ecx, 0x4c090c
mov al, 0xa
cmp dl, al
je 0x4910f9
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x491047
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x491040
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x491064
sub ecx, edx
add edi, ecx
mov dword [esp + 0x10], edi
cmp byte [edi], 0
je 0x491f34
mov edx, dword [esp + 0x10]
mov esi, edx
mov dword [esp + 0x38], edi
mov dl, byte [edx]
test dl, dl
je 0x4910af
nop dword [eax]
mov ecx, str._n_r_t
mov al, 0xa
cmp dl, al
je 0x49112a
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x491097
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x491090
mov ecx, dword [esp + 0x10]
push 0x7b
push ecx
call dword [esp + 0x28]
add esp, 8
test eax, eax
je 0x491178
mov edi, dword [esp + 0x10]
mov esi, edi
mov dl, byte [edi]
test dl, dl
je 0x4911f7
mov ecx, 0x4c11f8
mov al, 0x3b
nop dword [eax]
cmp dl, al
je 0x49113a
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x4910e0
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x4910d5
jmp 0x4911f7
mov dword [esp + 0x10], edi
nop dword [eax]
mov ecx, 0x4c090c
mov al, 0xa
cmp ah, al
je 0x491073
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x491107
mov ah, byte [edi + 1]
inc edi
mov dword [esp + 0x10], edi
test ah, ah
jne 0x491100
xor edi, edi
jmp 0x49106f
mov ecx, dword [esp + 0x10]
cmp ecx, esi
jne 0x4910b3
mov edi, ecx
inc edi
jmp 0x491e8c
push 0x7b
push edi
call dword [esp + 0x28]
mov edx, dword [esp + 0x18]
add esp, 8
mov esi, edx
mov edi, eax
mov dl, byte [edx]
test dl, dl
je 0x491178
mov ecx, 0x4c11f8
mov al, 0x3b
nop dword [eax]
cmp dl, al
je 0x4911f3
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x491160
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x491152
mov eax, dword [esp + 0x10]
mov dl, byte [eax]
cmp dl, 0x7d
jne 0x49137e
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
mov eax, edx
mov ecx, dword [esp + esi*4 + 0x160]
sub eax, ecx
mov esi, dword [esp + esi*4 + 0x120]
cmp eax, esi
jle 0x4911b2
mov edi, dword [esp + 0x2c]
mov esi, eax
mov dword [esp + edi*4 + 0x120], eax
mov eax, dword [esp + 0x2c]
cmp eax, 1
jle 0x4912ef
cmp byte [esp + eax + 0xef], 0
je 0x4912ef
mov ecx, dword [esp + eax*4 + 0x1a0]
mov eax, edx
cdq
idiv ecx
test edx, edx
je 0x4912eb
mov eax, ecx
sub eax, edx
cdq
idiv ecx
mov ecx, dword [esp + 0x18]
add ecx, edx
jmp 0x4912ef
cmp edi, esi
jae 0x491178
inc dword [esp + 0x2c]
xor eax, eax
mov edi, dword [esp + 0x78]
test edi, edi
mov esi, dword [esp + 0x10]
cmovne eax, dword [esp + 0x40]
push str.struct
push esi
mov dword [esp + 0x48], eax
call dword [esp + 0x64]
add esp, 8
test eax, eax
je 0x491242
push str.struct
push esi
call dword [esp + 0x64]
push 0x7b
push dword [esp + 0x1c]
mov esi, eax
call dword [esp + 0x30]
add esp, 0x10
cmp esi, eax
jae 0x491242
mov al, 1
jmp 0x491244
xor al, al
mov esi, dword [esp + 0x10]
mov byte [esp + edi + 0xf1], al
mov edi, dword [esp + 0x28]
test edi, edi
jle 0x49126d
mov ecx, esi
call fcn.00490890
movzx eax, al
cmp eax, edi
jle 0x49126d
mov ecx, edi
mov dword [esp + 0x24], edi
jmp 0x49127b
mov ecx, esi
call fcn.00490890
movzx ecx, al
mov dword [esp + 0x24], ecx
mov edi, dword [esp + 0x18]
mov eax, edi
cdq
idiv ecx
test edx, edx
je 0x491295
mov eax, ecx
sub eax, edx
cdq
idiv ecx
add edi, edx
mov dword [esp + 0x18], edi
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
cmp eax, ecx
jle 0x4912b1
mov ecx, dword [esp + 0x28]
test ecx, ecx
jle 0x4912ab
cmp eax, ecx
jg 0x4912ad
mov ecx, eax
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x54]
push 0x7b
push esi
mov dword [edx], 0
mov dword [esp + eax*4 + 0x1ac], ecx
mov dword [esp + eax*4 + 0x16c], edi
mov dword [esp + eax*4 + 0x12c], 0
mov byte [esp + 0x24], 0
call dword [esp + 0x28]
add esp, 8
lea edi, [eax + 1]
jmp 0x491e8c
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x34]
mov eax, dword [esp + edx*4 + 0x1a0]
cmp eax, dword [edi]
mov edi, dword [esp + 0x38]
jle 0x491310
mov edi, dword [esp + 0x34]
mov dword [edi], eax
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
cmp esi, eax
mov byte [esp + 0x1c], 0
cmovg eax, esi
sub edx, 1
mov dword [esp + 0x40], eax
mov dword [esp + 0x2c], edx
lea eax, [eax + ecx]
cmovne eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
mov esi, eax
je 0x49136b
mov dl, byte [eax]
test dl, dl
je 0x49136b
nop dword [eax + eax]
mov ecx, 0x4c11f8
mov al, 0x3b
cmp dl, al
je 0x49136d
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x491357
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x491350
xor esi, esi
xor eax, eax
cmp dword [esp + 0x10], esi
sete al
inc eax
add edi, eax
jmp 0x491e8c
xor edi, edi
mov esi, eax
test dl, dl
je 0x4913a8
mov ecx, 0x4c121c
mov al, 0x7d
nop dword [eax]
cmp dl, al
je 0x491420
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x491390
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x491386
mov esi, dword [esp + 0x10]
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4913b1
sub ecx, edx
cmp ecx, 0x4000
ja 0x491f1e
lea edx, [esp + 0x408]
mov ecx, esi
sub edx, esi
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x4913d1
cmp byte [esp + 0x408], 0
je 0x49146f
lea ecx, [esp + 0x408]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4913f6
sub ecx, edx
lea eax, [esp + ecx + 0x407]
mov cl, byte [eax]
cmp cl, 0x20
je 0x491412
cmp cl, 9
jne 0x49145c
lea edx, [esp + 0x408]
cmp eax, edx
je 0x491462
dec eax
jmp 0x491406
push 0x4c121c
push dword [esp + 0x14]
call dword [esp + 0x38]
mov esi, eax
add esp, 8
cmp esi, 0x4000
ja 0x491f1a
push esi
push dword [esp + 0x14]
lea eax, [esp + 0x410]
push eax
call dword [esp + 0x50]
add esp, 0xc
mov byte [esp + esi + 0x408], 0
jmp 0x4913de
mov byte [eax + 1], 0
jmp 0x49146f
cmp cl, 0x20
je 0x49146c
cmp cl, 9
jne 0x49146f
mov byte [eax], 0
mov esi, dword [esp + 0x20]
lea eax, [esp + 0x408]
push 0x5b
push eax
call esi
add esp, 8
test eax, eax
je 0x491563
lea eax, [esp + 0x408]
push 0x5b
push eax
call esi
push 0x14
push eax
lea eax, [esp + 0xe8]
push eax
call dword [esp + 0x58]
add esp, 0x14
lea eax, [esp + 0xd8]
push 0x4c1240
push eax
call dword [esp + 0x38]
add esp, 8
lea ecx, [esp + 0xd9]
mov byte [esp + eax + 0xd9], 0
nop dword [eax + eax]
mov al, byte [ecx]
cmp al, 0x20
je 0x4914da
cmp al, 9
jne 0x4914dd
inc ecx
jmp 0x4914d0
test al, al
je 0x491527
cmp al, 0x2d
je 0x4914e9
cmp al, 0x2b
jne 0x4914f0
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x491527
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x4914ff
cmp al, 0x58
jne 0x491527
movsx eax, byte [ecx + 2]
push eax
call dword [esp + 0x4c]
add esp, 4
test eax, eax
je 0x491527
push 0x10
lea eax, [esp + 0xdd]
push 0
push eax
call dword [esp + 0x88]
add esp, 0xc
jmp 0x491539
lea eax, [esp + 0xd9]
push eax
call dword [esp + 0x84]
add esp, 4
push 0
push 0
push 0x4001
push 1
push 1
push 0x4b6ba9
lea edx, [esp + 0xf0]
mov edi, eax
lea ecx, [esp + 0x420]
call fcn.0049ef20
add esp, 0x18
lea eax, [esp + 0x408]
push 0x5b
push eax
call esi
add esp, 8
test eax, eax
jne 0x491efd
lea eax, [esp + 0x408]
push 0x2a
push eax
call esi
add esp, 8
test eax, eax
je 0x49171d
lea eax, [esp + 0x408]
push 0x3a
push eax
call esi
add esp, 8
test eax, eax
jne 0x491eb4
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x4915bd
cmp eax, 4
jge 0x4915bd
mov ecx, eax
mov dword [esp + 0x24], eax
jmp 0x4915c6
mov ecx, 4
mov dword [esp + 0x24], ecx
mov esi, dword [esp + 0x18]
mov eax, esi
cdq
idiv ecx
test edx, edx
je 0x4915dc
mov eax, ecx
sub eax, edx
cdq
idiv ecx
add esi, edx
test edi, edi
mov eax, 1
cmovne eax, edi
lea esi, [esi + eax*4]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18], esi
cmp ecx, dword [eax]
jle 0x4915f7
mov dword [eax], ecx
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x491629
mov ecx, dword [esp + edx*4 + 0x160]
mov eax, esi
sub eax, ecx
cmp eax, dword [esp + edx*4 + 0x120]
jle 0x49161a
mov dword [esp + edx*4 + 0x120], eax
cmp byte [esp + edx + 0xf0], 0
cmove esi, ecx
mov dword [esp + 0x18], esi
mov edi, dword [esp + 0x10]
push 0x7d
push edi
call dword [esp + 0x28]
add esp, 8
test eax, eax
je 0x4916af
mov dl, byte [edi]
mov esi, edi
test dl, dl
je 0x4916f4
mov ecx, 0x4c11f8
mov al, 0x3b
nop
cmp dl, al
je 0x491678
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x491650
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x491647
push 0x4b7534
push edi
call dword [esp + 0x38]
add esp, 8
add edi, eax
jmp 0x491e8c
push 0x7d
push edi
call dword [esp + 0x28]
mov edi, eax
add esp, 8
mov eax, dword [esp + 0x10]
mov esi, eax
mov dl, byte [eax]
test dl, dl
je 0x4916ab
mov ecx, 0x4c11f8
mov al, 0x3b
cmp dl, al
je 0x4916ec
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x491697
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x491690
mov edi, dword [esp + 0x10]
mov dl, byte [edi]
mov esi, edi
test dl, dl
je 0x4916d4
mov ecx, 0x4c11f8
mov al, 0x3b
nop
cmp dl, al
je 0x491708
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x4916c0
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x4916b7
mov ecx, edi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4916e0
jmp 0x491e88
cmp edi, esi
jae 0x4916ab
mov edi, dword [esp + 0x10]
push 0x4b7534
push edi
call dword [esp + 0x38]
add esp, 8
add edi, eax
jmp 0x491e8c
push 0x4c11f8
push edi
call dword [esp + 0x38]
inc edi
add esp, 8
add edi, eax
jmp 0x491e8c
mov ah, byte [esp + 0x408]
lea esi, [esp + 0x408]
test ah, ah
je 0x491785
mov dl, ah
mov ecx, 0x4bb7f4
mov al, 0x20
cmp dl, al
je 0x49174e
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x491738
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x491731
jmp 0x491756
test esi, esi
jne 0x491855
lea edx, [esp + 0x408]
nop dword [eax]
mov ecx, 0x4c121c
mov al, 0x7d
cmp ah, al
je 0x49177d
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x491767
mov ah, byte [edx + 1]
inc edx
test ah, ah
jne 0x491760
jmp 0x491785
test edx, edx
jne 0x491855
mov eax, dword [esp + 0x10]
mov esi, eax
mov dl, byte [eax]
test dl, dl
je 0x4917ac
mov ecx, 0x4c121c
mov al, 0x7d
cmp dl, al
je 0x4917b7
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x491798
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x491791
cmp dword [esp + 0x18], 0
je 0x491855
lea eax, [esp + 0x408]
push 0x3a
push eax
call dword [esp + 0x28]
add esp, 8
test eax, eax
je 0x4919ff
mov edx, dword [esp + 0x1c]
xor esi, esi
movzx ecx, dl
shr ecx, 3
cmp ecx, dword [esp + 0x3c]
movzx edx, dl
cmove edx, esi
lea esi, [eax + 1]
mov dword [esp + 0x1c], edx
mov ecx, esi
nop
mov al, byte [ecx]
cmp al, 0x20
je 0x4917fa
cmp al, 9
jne 0x4917fd
inc ecx
jmp 0x4917f0
test al, al
je 0x491844
cmp al, 0x2d
je 0x491809
cmp al, 0x2b
jne 0x491810
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x491844
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x49181f
cmp al, 0x58
jne 0x491844
movsx eax, byte [ecx + 2]
push eax
call dword [esp + 0x4c]
add esp, 4
test eax, eax
je 0x491844
push 0x10
push 0
push esi
call dword [esp + 0x58]
add esp, 0xc
add byte [esp + 0x1c], al
jmp 0x491a06
push esi
call dword [esp + 0x54]
add esp, 4
add byte [esp + 0x1c], al
jmp 0x491a06
lea eax, [esp + 0x408]
push 0x4c1264
push eax
call dword [esp + 0x38]
add esp, 8
cmp eax, 0x218
ja 0x491efd
lea esi, [esp + 0x408]
nop dword [eax + eax]
mov dl, byte [esi]
cmp dl, 0x20
je 0x49188c
cmp dl, 9
jne 0x49188f
inc esi
jmp 0x491880
test dl, dl
je 0x4918bf
mov ecx, 0x4bb7f4
mov al, 0x20
nop word [eax + eax]
cmp dl, al
je 0x4918b6
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x4918a0
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x491893
jmp 0x4918bf
cmp byte [esi], 0x3a
je 0x491953
lea ecx, [esp + 0x1e0]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4918d0
sub ecx, edx
lea eax, [ecx - 2]
push eax
lea eax, [esp + 0x40c]
push eax
lea eax, [esp + 0x1e9]
push eax
call dword [esp + 0x90]
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov esi, dword [esp + 0x30]
xor edx, edx
test eax, eax
movzx ecx, cl
lea eax, [esp + 0x408]
cmovne ecx, edx
push 0x4c1264
push eax
mov byte [esp + 0x24], cl
call esi
push eax
lea eax, [esp + 0x414]
push eax
lea eax, [esp + 0x1f1]
push eax
call dword [esp + 0x58]
add esp, 0x14
lea eax, [esp + 0x408]
push 0x4c1264
push eax
call esi
mov ecx, 0x20
add esp, 8
mov word [esp + eax + 0x1e1], cx
lea eax, [esp + 0x408]
push 0x3a
push eax
call dword [esp + 0x28]
add esp, 8
test eax, eax
je 0x4919ff
mov ecx, dword [esp + 0x1c]
lea esi, [eax + 1]
movzx edx, cl
shr edx, 3
cmp edx, dword [esp + 0x3c]
mov edx, 0
movzx ecx, cl
cmovne edx, ecx
mov ecx, esi
mov dword [esp + 0x54], edx
nop
mov al, byte [ecx]
cmp al, 0x20
je 0x49199a
cmp al, 9
jne 0x49199d
inc ecx
jmp 0x491990
test al, al
je 0x4919e9
cmp al, 0x2d
je 0x4919a9
cmp al, 0x2b
jne 0x4919b0
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x4919e9
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x4919bf
cmp al, 0x58
jne 0x4919e9
movsx eax, byte [ecx + 2]
push eax
call dword [esp + 0x4c]
add esp, 4
test eax, eax
je 0x4919e9
push 0x10
push 0
push esi
call dword [esp + 0x58]
add esp, 0xc
mov byte [esp + 0x17], al
add al, byte [esp + 0x54]
mov byte [esp + 0x1c], al
jmp 0x491a0a
push esi
call dword [esp + 0x54]
add esp, 4
mov byte [esp + 0x17], al
add al, byte [esp + 0x54]
mov byte [esp + 0x1c], al
jmp 0x491a0a
mov byte [esp + 0x1c], 0
xor al, al
mov byte [esp + 0x17], al
lea eax, [esp + 0x1e0]
push str._bool
push eax
call dword [esp + 0x90]
add esp, 8
test eax, eax
jne 0x491a30
mov edx, 1
mov dword [esp + 0x3c], edx
jmp 0x491a66
xor esi, esi
mov ecx, dword [esi*4 + 0x4c200c]
lea edx, [esp + 0x1e0]
call fcn.0049eb30
test eax, eax
jne 0x491a51
inc esi
cmp esi, 8
jl 0x491a32
jmp 0x491a57
lea eax, [esi + 1]
movzx eax, ax
movsx edx, ax
mov dword [esp + 0x3c], edx
test edx, edx
je 0x491b6c
mov cl, byte [esp + 0x17]
test cl, cl
je 0x491a76
mov eax, dword [esp + 0x1c]
cmp al, cl
jne 0x491acc
cmp edx, 1
jle 0x491aaf
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x491a8f
cmp edx, eax
jle 0x491a8f
mov esi, eax
mov dword [esp + 0x24], esi
jmp 0x491a95
mov esi, edx
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x18]
cdq
idiv esi
test edx, edx
je 0x491aab
mov eax, esi
sub eax, edx
cdq
idiv esi
add dword [esp + 0x18], edx
mov edx, dword [esp + 0x3c]
test cl, cl
je 0x491abb
mov eax, dword [esp + 0x1c]
cmp al, cl
jne 0x491acc
test edi, edi
mov eax, 1
cmovne eax, edi
imul eax, edx
add dword [esp + 0x18], eax
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x24]
cmp esi, dword [eax]
jle 0x491ada
mov dword [eax], esi
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x491b14
mov ecx, dword [esp + edx*4 + 0x160]
mov eax, esi
sub eax, ecx
cmp eax, dword [esp + edx*4 + 0x120]
jle 0x491b01
mov dword [esp + edx*4 + 0x120], eax
cmp byte [esp + edx + 0xf0], 0
jne 0x491b14
mov dword [esp + 0x18], ecx
mov byte [esp + 0x1c], 0
mov edi, dword [esp + 0x10]
push 0x7d
push edi
call dword [esp + 0x28]
add esp, 8
test eax, eax
je 0x491e59
mov dl, byte [edi]
mov esi, edi
test dl, dl
je 0x4916f4
mov ecx, 0x4c11f8
mov al, 0x3b
nop dword [eax]
cmp dl, al
je 0x491e10
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x491b40
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x491b36
push 0x4b7534
push edi
call dword [esp + 0x38]
add esp, 8
add edi, eax
jmp 0x491e8c
lea eax, [esp + 0x1e0]
mov dword [esp + 0x68], 0
push 0x28
push eax
call dword [esp + 0x28]
add esp, 8
test eax, eax
mov eax, dword [0x4c8024]
je 0x491cd7
mov esi, dword [eax + 0x94]
lea eax, [esp + 0x1e0]
push 0x4c1270
push eax
call dword [esp + 0x38]
add esp, 8
dec eax
mov ecx, 0x4cc848
push 0
push eax
lea eax, [esp + 0x1e9]
push eax
call fcn.0042e8f0
mov ecx, dword [0x4c8024]
mov dword [ecx + 0x94], eax
test eax, eax
je 0x491ed1
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [esp + ecx + 0x1e1]
lea ecx, [ecx + 1]
mov byte [esp + ecx + 0x407], al
test al, al
jne 0x491be0
lea eax, [esp + 0x408]
push 0x4c1270
push eax
call dword [esp + 0x38]
lea ecx, [esp + 0x411]
add esp, 8
add ecx, eax
lea edx, [esp + 0x1e1]
sub edx, ecx
nop dword [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x491c20
lea eax, [esp + 0x1e0]
push 0x29
push eax
call dword [esp + 0x28]
mov ecx, 0x20
add esp, 8
mov word [eax], cx
lea ecx, [esp + 0x1e0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x491c50
push 0
sub ecx, edx
push 2
push 0
lea eax, [ecx - 2]
mov ecx, 0x4cc848
push eax
lea eax, [esp + 0x1f1]
push eax
call fcn.00430700
mov dword [esp + 0x68], eax
mov eax, dword [0x4c8024]
mov dword [eax + 0x94], esi
mov eax, dword [esp + 0x68]
test eax, eax
jne 0x491cc7
lea ecx, [esp + 0x1e0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x491c96
push 0
sub ecx, edx
push 1
push 0
lea eax, [ecx - 2]
mov ecx, 0x4cc848
push eax
lea eax, [esp + 0x1f1]
push eax
call fcn.00430700
mov dword [esp + 0x68], eax
test eax, eax
je 0x491ef4
mov ecx, dword [esp + 0x70]
cmp ecx, 5
ja case.0x491cd0.1
jmp dword [ecx*4 + 0x491f84]
cmp dword [eax + 0x94], 0
je 0x491c84
lea ecx, [esp + 0x1e0]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x491cf0
push 0
sub ecx, edx
push 2
push 0
lea eax, [ecx - 2]
mov ecx, 0x4cc848
push eax
lea eax, [esp + 0x1f1]
push eax
call fcn.00430700
mov dword [esp + 0x68], eax
jmp 0x491c88
push 0
push 1
mov ecx, eax
call fcn.00401550
jmp case.0x491cd0.0
mov eax, 0x4b6ba9
mov ecx, eax
call fcn.00490890
movzx esi, al
mov eax, dword [esp + 0x28]
mov dword [esp + 0x24], esi
test eax, eax
jle 0x491d50
cmp esi, eax
jle 0x491d50
mov esi, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
cmp esi, ecx
jle 0x491d5e
mov dword [eax], esi
mov ecx, esi
mov al, byte [esp + 0x17]
test al, al
je 0x491d6c
cmp byte [esp + 0x1c], al
jne 0x491d8c
mov esi, dword [esp + 0x18]
test esi, esi
je 0x491d90
mov eax, esi
cdq
idiv ecx
test edx, edx
je 0x491d90
mov eax, ecx
sub eax, edx
cdq
idiv ecx
add esi, edx
mov dword [esp + 0x18], esi
jmp 0x491d90
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0xb8]
mov eax, esi
cdq
push 4
mov dword [ecx], eax
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0x118]
mov dword [ecx + 4], edx
push eax
lea eax, [esp + 0x98]
push eax
call fcn.00490b00
add esp, 0x10
cmp dword [esp + 0x118], 1
jne 0x491ef4
mov al, byte [esp + 0x17]
test al, al
je 0x491de1
cmp byte [esp + 0x1c], al
jne 0x491ade
mov edx, dword [esp + 0x110]
test edi, edi
je 0x491e02
mov ecx, edx
lea eax, [edi - 1]
sub ecx, esi
imul ecx, eax
lea esi, [ecx + edx]
mov dword [esp + 0x18], esi
jmp 0x491ade
xor ecx, ecx
lea esi, [ecx + edx]
mov dword [esp + 0x18], esi
jmp 0x491ade
push 0x7d
push edi
call dword [esp + 0x28]
mov edi, eax
add esp, 8
mov eax, dword [esp + 0x10]
mov esi, eax
mov dl, byte [eax]
test dl, dl
je 0x491e55
nop dword [eax + eax]
mov ecx, 0x4c11f8
mov al, 0x3b
cmp dl, al
je 0x491e4d
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x491e37
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x491e30
jmp 0x491e55
cmp edi, esi
jb 0x4916f0
mov edi, dword [esp + 0x10]
mov dl, byte [edi]
mov esi, edi
test dl, dl
je 0x491e7c
mov ecx, 0x4c11f8
mov al, 0x3b
cmp dl, al
je 0x491ea2
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x491e68
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x491e61
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x491e81
sub ecx, edx
add edi, ecx
cmp byte [edi], 0
mov dword [esp + 0x10], edi
je 0x491f34
mov ecx, dword [esp + 0x60]
jmp 0x491010
push 0x4c11f8
push edi
call dword [esp + 0x38]
inc edi
add esp, 8
add edi, eax
jmp 0x491e8c
lea eax, [esp + 0x408]
mov ecx, 0x4cc848
push eax
push str.Bit_field_must_not_be_a_pointer
call fcn.0043ee10
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x1e0]
mov dword [ecx + 0x94], esi
push eax
push str.Variable_was_not_found_in_function.
mov ecx, 0x4cc848
call fcn.0043ee10
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x1e0]
jmp 0x491f04
lea eax, [esp + 0x408]
push eax
push str.Invalid_structure_definition.
mov ecx, 0x4cc848
call fcn.0043ee10
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov esi, dword [esp + 0x10]
push esi
push str.Invalid_structure_definition.
mov ecx, 0x4cc848
call fcn.0043ee10
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x18]
mov ecx, dword [eax]
test ecx, ecx
je 0x491f54
mov eax, esi
cdq
idiv ecx
test edx, edx
je 0x491f54
mov eax, ecx
sub eax, edx
cdq
idiv ecx
add esi, edx
mov ecx, dword [ebp + 0xc]
mov eax, esi
cdq
pop edi
pop esi
mov dword [ecx + 8], 1
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov esp, ebp
pop ebp
ret