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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x4794
call fcn.004c78a0
push ebx
push esi
push edi
xor ebx, ebx
mov dword [esp + 0x48], ecx
push 0x40
lea eax, [esp + 0x1e4]
mov dword [esp + 0x1c], ebx
mov edi, edx
push ebx
push eax
mov dword [esp + 0x6c], edi
call fcn.004afdf0
add esp, 0xc
lea eax, [esp + 0x160]
push 0x40
push ebx
push eax
call fcn.004afdf0
add esp, 0xc
lea eax, [esp + 0x1a0]
xorps xmm0, xmm0
movaps xmmword [esp + 0x130], xmm0
push 0x40
push ebx
push eax
call fcn.004afdf0
lea eax, [esp + 0x5c]
mov dword [esp + 0x64], 4
mov dword [esp + 0xa0], eax
add esp, 0xc
lea eax, [esp + 0xf0]
mov dword [esp + 0xf8], 1
mov dword [esp + 0x98], eax
xor edx, edx
lea eax, [esp + 0x80]
mov dword [esp + 0x40], edx
mov dword [esp + 0x9c], eax
xor esi, esi
lea eax, [esp + 0xa8]
mov dword [esp + 0x44], edx
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x120]
mov dword [esp + 0xa4], eax
lea eax, [esp + 0x100]
mov dword [esp + 0x68], eax
lea eax, [esp + 0x110]
mov dword [esp + 0x6c], eax
mov eax, dword [str._UInt]
mov dword [esp + 0x348], eax
mov ax, word [0x4dc040]
mov word [esp + 0x34c], ax
mov al, byte [0x4dc042]
push 0x21b
mov byte [esp + 0x352], al
lea eax, [esp + 0x353]
push esi
push eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x44], edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x94], 1
mov dword [esp + 0xbc], 1
mov dword [esp + 0x134], 6
call fcn.004afdf0
mov esi, dword [esp + 0x54]
xor cl, cl
add esp, 0xc
mov byte [esp + 0x13], cl
mov byte [esp + 0x20], cl
mov dword [esp + 0x64], ebx
cmp edi, 4
jle 0x49321d
mov eax, dword [esi + 0x10]
mov edi, dword [eax]
mov dword [esp + 0x1c], edi
jmp 0x493353
mov ecx, dword [esi]
call fcn.0046bd30
test eax, eax
je 0x493245
push 0x4d0335
push str.Invalid_structure_definition.
mov ecx, 0x4e9a70
call fcn.004470d0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x28
call fcn.004ae4f6
add esp, 4
mov dword [esp + 0x4c], eax
mov ecx, eax
call fcn.00492f30
push 0
push 0
mov edi, eax
push 0
mov dword [esp + 0x28], edi
call dword [sym.imp.KERNEL32.dll_HeapCreate]
mov dword [edi + 0x20], eax
mov byte [edi + 0x14], 1
test eax, eax
je 0x494b97
push 1
push esi
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.0048e0e0
add esp, 0x10
cmp dword [esp + 0x78], 1
je 0x4932ea
mov eax, dword [esi]
mov ecx, dword [eax + 8]
cmp ecx, 5
ja case.0x494a6e.1
jmp dword [ecx*4 + 0x494be0]
mov ecx, dword [eax]
push 0
push 1
call fcn.00401680
push eax
push str.Invalid_structure_definition.
mov ecx, 0x4e9a70
call fcn.004470d0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x4d0335
push eax
push str.Invalid_structure_definition.
mov ecx, 0x4e9a70
call fcn.004470d0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x20
call fcn.004ae4f6
add esp, 4
mov dword [esp + 0x4c], eax
cmp dword [esp + 0x60], 1
mov dword [eax + 4], 1
mov dword [eax], vtable.Object.0
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x1c], ebx
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x70]
mov dword [edi + 0x18], eax
jle 0x493342
mov ecx, dword [esi + 4]
xor edx, edx
call fcn.0046b990
or eax, edx
je 0x493342
mov ecx, dword [esi + 4]
xor edx, edx
call fcn.0046b990
jmp 0x493350
push dword [edi + 0x18]
push 8
push dword [edi + 0x20]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [edi + 0x24], eax
mov dword [esp + 0x108], ebx
mov dword [esp + 0x118], 6
mov dword [esp + 0xe8], 6
mov eax, dword [edi + 0x1c]
mov dword [esp + 0xe0], eax
mov eax, dword [esi]
mov ecx, dword [eax + 8]
cmp ecx, 5
ja case.0x493384.1
jmp dword [ecx*4 + 0x494bf8]
mov ecx, dword [eax]
push 0
push 1
call fcn.00401680
mov esi, eax
mov dword [esp + 0x14], eax
jmp 0x4933ab
mov esi, dword [eax]
jmp 0x4933a7
mov esi, 0x4d0335
mov dword [esp + 0x14], esi
mov ecx, esi
call fcn.00417810
lea edx, [esp + 0x14c]
mov dword [esp + 0x34], eax
mov ecx, eax
call fcn.004128f0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4933c7
sub eax, edx
cmp byte [eax + esi], 0x3a
jne 0x49340b
cmp dword [esp + 0x34], ebx
jle 0x49340b
lea ecx, [esp + 0x14c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4933e6
mov eax, dword [esp + 0x34]
sub ecx, edx
inc esi
cdq
add esi, ecx
mov dword [esp + 0xa8], eax
mov dword [esp + 0x14], esi
mov dword [esp + 0xac], edx
jmp 0x493445
cmp dword [esp + 0x60], 5
jne 0x493435
mov eax, dword [esp + 0x48]
xor edx, edx
mov ecx, dword [eax + 0xc]
call fcn.0046b990
mov dword [esp + 0x34], eax
cdq
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edx
jmp 0x493445
xorps xmm0, xmm0
mov dword [esp + 0x34], ebx
movlpd qword [esp + 0xa8], xmm0
cmp byte [esi], bl
je 0x494a38
nop dword [eax]
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
mov ebx, edi
push 2
push 0x4dc044
push esi
mov dword [esp + 0x58], ecx
mov dword [esp + 0x34], ecx
call fcn.004b9b6d
add esp, 0xc
test eax, eax
jne 0x4934cc
mov ecx, dword [esp + 0x14]
mov bl, byte [ecx]
test bl, bl
je 0x4934a4
mov dl, bl
mov ecx, 0x4db7dc
mov al, 0xa
nop dword [eax]
cmp dl, al
je 0x49350a
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x493490
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x493482
mov esi, dword [esp + 0x14]
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4934b0
sub ecx, edx
add esi, ecx
mov dword [esp + 0x14], esi
cmp byte [esi], 0
je 0x494a30
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
mov dl, byte [ecx]
test dl, dl
je 0x4934f4
mov ecx, str._n_r_t
mov al, 0xa
nop dword [eax]
cmp dl, al
je 0x4934f6
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x4934e0
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x4934d6
xor esi, esi
mov edx, dword [esp + 0x14]
cmp edx, esi
jne 0x49353f
mov ebx, dword [esp + 0x18]
mov esi, edx
inc esi
jmp 0x4948bb
mov esi, dword [esp + 0x14]
mov dword [esp + 0x14], esi
mov ecx, 0x4db7dc
mov al, 0xa
nop dword [eax]
cmp bl, al
je 0x4934bf
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x493520
mov bl, byte [esi + 1]
inc esi
mov dword [esp + 0x14], esi
test bl, bl
jne 0x493512
xor esi, esi
jmp 0x4934bb
push 0x7b
push edx
call fcn.004b7be9
add esp, 8
test eax, eax
je 0x4935bf
mov edx, dword [esp + 0x14]
mov esi, edx
mov dl, byte [edx]
test dl, dl
je 0x49363c
nop
mov ecx, 0x4dc034
mov al, 0x3b
cmp dl, al
je 0x493580
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x493567
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x493560
jmp 0x49363c
mov ecx, dword [esp + 0x14]
push 0x7b
push ecx
call fcn.004b7be9
mov edi, eax
add esp, 8
mov eax, dword [esp + 0x14]
mov esi, eax
mov dl, byte [eax]
test dl, dl
je 0x4935bf
nop dword [eax]
mov ecx, 0x4dc034
mov al, 0x3b
cmp dl, al
je 0x493634
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x4935a7
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x4935a0
mov edi, dword [esp + 0x14]
mov dl, byte [edi]
cmp dl, 0x7d
jne 0x4937c9
mov esi, dword [esp + 0x44]
mov ebx, dword [esp + 0x18]
mov eax, ebx
mov ecx, dword [esp + esi*4 + 0x1e0]
sub eax, ecx
mov edx, dword [esp + esi*4 + 0x160]
mov dword [esp + 0x40], edx
cmp eax, edx
jle 0x4935fb
mov dword [esp + 0x40], eax
mov dword [esp + esi*4 + 0x160], eax
cmp esi, 1
jle 0x493730
cmp byte [esp + esi + 0x12f], 0
je 0x493730
mov ecx, dword [esp + esi*4 + 0x1a0]
mov eax, ebx
cdq
idiv ecx
test edx, edx
je 0x493732
mov eax, ecx
sub eax, edx
cdq
idiv ecx
add ebx, edx
jmp 0x493732
cmp edi, esi
jae 0x4935bf
mov edi, dword [esp + 0x44]
inc dword [esp + 0x44]
xor eax, eax
mov esi, dword [esp + 0x14]
test ebx, ebx
push str.struct
cmovne eax, dword [esp + 0x2c]
push esi
mov dword [esp + 0x48], eax
call fcn.004b8128
add esp, 8
test eax, eax
je 0x493687
push str.struct
push esi
call fcn.004b8128
mov ecx, dword [esp + 0x1c]
mov esi, eax
push 0x7b
push ecx
call fcn.004b7be9
add esp, 0x10
cmp esi, eax
jae 0x493687
mov al, 1
jmp 0x493689
xor al, al
mov esi, dword [esp + 0x34]
mov byte [esp + ebx + 0x131], al
mov ebx, dword [esp + 0x14]
test esi, esi
jle 0x4936aa
mov ecx, ebx
call fcn.0048de80
movzx eax, al
cmp eax, esi
jg 0x4936b4
mov ecx, ebx
call fcn.0048de80
movzx esi, al
mov ecx, dword [esp + 0x18]
mov eax, ecx
cdq
idiv esi
mov dword [esp + 0x30], esi
test edx, edx
je 0x4936d2
mov eax, esi
sub eax, edx
cdq
idiv esi
add ecx, edx
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x24]
cmp eax, esi
jle 0x4936ee
mov edx, dword [esp + 0x34]
test edx, edx
jle 0x4936e8
mov esi, edx
cmp eax, edx
jg 0x4936ea
mov esi, eax
mov dword [esp + 0x30], esi
mov dword [esp + edi*4 + 0x1e4], ecx
xor cl, cl
push 0x7b
push ebx
mov dword [esp + edi*4 + 0x1ac], esi
mov dword [esp + 0x2c], 0
mov dword [esp + edi*4 + 0x16c], 0
mov byte [esp + 0x1b], cl
mov byte [esp + 0x28], cl
call fcn.004b7be9
mov ebx, dword [esp + 0x20]
add esp, 8
lea esi, [eax + 1]
jmp 0x4948bb
mov ebx, ecx
mov ecx, dword [esp + esi*4 + 0x1a0]
mov edx, ebx
mov eax, dword [esp + 0x24]
cmp ecx, eax
cmovg eax, ecx
mov ecx, dword [esp + 0x40]
cmp ecx, dword [esp + 0x4c]
mov dword [esp + 0x24], eax
cmovle ecx, dword [esp + 0x4c]
sub esi, 1
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], ecx
lea eax, [edx + ecx]
cmovne eax, edx
xor bl, bl
add edi, 1
mov dword [esp + 0x18], eax
mov byte [esp + 0x13], bl
mov esi, edi
mov byte [esp + 0x20], bl
mov dword [esp + 0x14], edi
je 0x4937aa
mov dl, byte [edi]
test dl, dl
je 0x4937a4
mov ecx, 0x4dc034
mov al, 0x3b
nop dword [eax]
cmp dl, al
je 0x4937a6
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x493790
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x493785
xor esi, esi
cmp edi, esi
jne 0x4937bc
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
inc esi
mov dword [esp + 0x14], esi
jmp 0x4948bf
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
jmp 0x4948bf
mov dword [esp + 0x2c], 0
mov esi, edi
mov dword [esp + 0x28], 0
test dl, dl
je 0x4937ff
nop
mov ecx, 0x4dc058
mov al, 0x7d
cmp dl, al
je 0x49387a
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x4937e7
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x4937e0
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x493804
sub ecx, edx
cmp ecx, 0x4000
ja 0x4948cd
lea edx, [esp + 0x798]
mov ecx, edi
sub edx, edi
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x493824
cmp byte [esp + 0x798], 0
je 0x4938c8
lea ecx, [esp + 0x798]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x493850
sub ecx, edx
lea eax, [esp + ecx + 0x797]
mov cl, byte [eax]
cmp cl, 0x20
je 0x49386c
cmp cl, 9
jne 0x4938b5
lea edx, [esp + 0x798]
cmp eax, edx
je 0x4938bb
dec eax
jmp 0x493860
push 0x4dc058
push edi
call fcn.004bb20e
mov esi, eax
add esp, 8
cmp esi, 0x4000
ja 0x4948cd
push esi
lea eax, [esp + 0x79c]
push edi
push eax
call fcn.004b9ca3
add esp, 0xc
mov byte [esp + esi + 0x798], 0
jmp 0x493831
mov byte [eax + 1], 0
jmp 0x4938c8
cmp cl, 0x20
je 0x4938c5
cmp cl, 9
jne 0x4938c8
mov byte [eax], 0
lea eax, [esp + 0x798]
push 0x2a
push eax
call fcn.004b7be9
add esp, 8
test eax, eax
je 0x493920
lea eax, [esp + 0x798]
push 0x3a
push eax
call fcn.004b7be9
add esp, 8
test eax, eax
jne 0x4948f0
push eax
push eax
push 0x4001
push 0xffffffffffffffff
push 1
push 0x4d0335
mov edx, 0x4d76ec
lea ecx, [esp + 0x7b0]
call fcn.0049acc0
add esp, 0x18
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x798]
push 0x5b
push eax
call fcn.004b7be9
add esp, 8
test eax, eax
je 0x493a1d
lea eax, [esp + 0x798]
push 0x5b
push eax
call fcn.004b7be9
push 0x14
push eax
lea eax, [esp + 0xd8]
push eax
call fcn.004b9ca3
add esp, 0x14
lea eax, [esp + 0xc8]
push 0x4dc07c
push eax
call fcn.004bb20e
lea ecx, [esp + 0xd1]
mov byte [esp + eax + 0xd1], 0
call fcn.00404660
push 0
push 0
push 0x4001
push 1
push 1
push 0x4d0335
lea edx, [esp + 0xe8]
mov dword [esp + 0x48], eax
lea ecx, [esp + 0x7b8]
call fcn.0049acc0
lea eax, [esp + 0x7b8]
push 0x5b
push eax
call fcn.004b7be9
add esp, 0x28
test eax, eax
jne 0x49491a
mov bl, byte [esp + 0x798]
test bl, bl
je 0x493a24
lea ecx, [esp + 0x798]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4939e0
sub ecx, edx
lea eax, [esp + ecx + 0x797]
mov cl, byte [eax]
cmp cl, 0x20
je 0x4939fc
cmp cl, 9
jne 0x493a0a
lea edx, [esp + 0x798]
cmp eax, edx
je 0x493a10
dec eax
jmp 0x4939f0
mov byte [eax + 1], 0
jmp 0x493a1d
cmp cl, 0x20
je 0x493a1a
cmp cl, 9
jne 0x493a24
mov byte [eax], 0
mov bl, byte [esp + 0x798]
lea esi, [esp + 0x798]
test bl, bl
je 0x493a74
mov dl, bl
mov ecx, 0x4d5ff4
mov al, 0x20
cmp dl, al
je 0x493a92
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x493a38
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x493a31
lea edx, [esp + 0x798]
mov ecx, 0x4dc058
mov al, 0x7d
nop word [eax + eax]
cmp bl, al
je 0x493a92
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x493a60
mov bl, byte [edx + 1]
inc edx
test bl, bl
jne 0x493a53
mov edx, 0x4dc058
mov ecx, edi
call fcn.00405fc0
test eax, eax
jne 0x493c6d
cmp dword [esp + 0x18], eax
jne 0x493c6d
lea eax, [esp + 0x798]
push 0x4d7c3c
push eax
call fcn.004bb20e
mov esi, eax
add esp, 8
cmp esi, 0x218
ja 0x49491a
lea ecx, [esp + 0x798]
nop dword [eax]
mov dl, byte [ecx]
cmp dl, 0x20
je 0x493acc
cmp dl, 9
jne 0x493acf
inc ecx
jmp 0x493ac0
mov edx, 0x4d5ff4
call fcn.00405fc0
mov edi, eax
test edi, edi
je 0x493ae4
cmp byte [edi], 0x3a
je 0x493b46
lea ecx, [esp + 0x348]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x493af0
sub ecx, edx
lea eax, [ecx - 2]
push eax
lea eax, [esp + 0x79c]
push eax
lea eax, [esp + 0x351]
push eax
call fcn.004b2c54
add esp, 0xc
test eax, eax
je 0x493b23
xor cl, cl
mov byte [esp + 0x13], cl
mov byte [esp + 0x20], cl
push esi
lea eax, [esp + 0x79c]
push eax
lea eax, [esp + 0x351]
push eax
call fcn.004b9ca3
add esp, 0xc
mov word [esp + esi + 0x349], 0x20
mov ah, byte [esp + 0x798]
lea esi, [esp + 0x798]
mov bh, byte [esp + 0x20]
test ah, ah
je 0x493b7b
mov dl, ah
nop
mov ecx, 0x4dc1c4
mov al, 0x20
cmp dl, al
je 0x493b88
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x493b67
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x493b60
mov byte [esp + 0x220], 0
jmp 0x493d0b
lea edx, [esp + 0x798]
mov bl, ah
mov ecx, 0x4dc1c4
mov al, 0x20
cmp bl, al
je 0x493bae
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x493b98
mov bl, byte [edx + 1]
inc edx
test bl, bl
jne 0x493b91
xor edx, edx
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x493bb1
sub edx, ecx
cmp edx, 0x11b
ja 0x49491a
test edi, edi
je 0x493bd8
cmp byte [edi], 0x3a
jne 0x493bd8
lea edx, [esp + 0x798]
jmp 0x493bfd
lea edx, [esp + 0x798]
nop
mov ecx, 0x4dc1c4
mov al, 0x20
cmp ah, al
je 0x493bfd
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x493be7
mov ah, byte [edx + 1]
inc edx
test ah, ah
jne 0x493be0
xor edx, edx
lea ecx, [esp + 0x220]
mov al, byte [edx]
lea edx, [edx + 1]
mov byte [ecx], al
inc ecx
test al, al
jne 0x493c04
lea eax, [esp + 0x220]
push 0x3a
push eax
call fcn.004b7be9
add esp, 8
test eax, eax
je 0x493c5b
lea ecx, [eax + 1]
mov byte [eax], 0
call fcn.00417810
mov bl, al
movzx ecx, bh
mov eax, dword [esp + 0x20]
movzx edx, al
xor eax, eax
shr edx, 3
cmp edx, dword [esp + 0x38]
mov byte [esp + 0x13], bl
cmovne eax, ecx
add al, bl
or edx, 0xffffffff
mov dword [esp + 0x20], eax
jmp 0x493cf1
xor cl, cl
or edx, 0xffffffff
mov byte [esp + 0x13], cl
mov byte [esp + 0x20], cl
jmp 0x493cf1
lea ecx, [esp + 0x798]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x493c77
sub ecx, edx
cmp ecx, 0x125
ja 0x49491a
push 0x125
lea eax, [esp + 0x79c]
push eax
lea eax, [esp + 0x228]
push eax
call fcn.004b9ca3
add esp, 0xc
lea eax, [esp + 0x220]
push 0x3a
push eax
call fcn.004b7be9
add esp, 8
test eax, eax
je 0x493cec
lea ecx, [eax + 1]
mov byte [eax], 0
call fcn.00417810
mov bl, al
xor edx, edx
mov eax, dword [esp + 0x20]
movzx ecx, al
shr ecx, 3
cmp ecx, dword [esp + 0x38]
movzx eax, al
cmovne edx, eax
mov byte [esp + 0x13], bl
add dl, bl
mov byte [esp + 0x20], dl
mov edx, 0xffffffff
lea ecx, [esp + 0x220]
call fcn.00427370
mov edx, eax
lea ecx, [esp + 0x220]
call fcn.004273d0
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
cmp byte [ebx + 0x14], 0
je 0x493d31
cmp byte [esp + 0x220], 0
jne 0x493d31
test edi, edi
mov eax, 1
cmove edi, eax
mov dword [esp + 0x28], edi
lea eax, [esp + 0x220]
push 0x28
push eax
call fcn.004b7be9
add esp, 8
test eax, eax
jne 0x494a0a
lea eax, [esp + 0x348]
push str._bool
push eax
call fcn.004b2360
add esp, 8
test eax, eax
jne 0x493d6f
mov esi, 1
mov dword [esp + 0x38], esi
jmp 0x493da5
xor esi, esi
mov ecx, dword [esi*4 + 0x4dce64]
lea edx, [esp + 0x348]
call fcn.0049a8f0
test eax, eax
jne 0x493d90
inc esi
cmp esi, 8
jl 0x493d71
jmp 0x493d96
lea eax, [esi + 1]
movzx eax, ax
movsx esi, ax
mov dword [esp + 0x38], esi
test esi, esi
je 0x4941e4
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x493e06
mov eax, dword [esp + 0x34]
test eax, eax
jle 0x493dc2
cmp eax, 4
jge 0x493dc2
mov esi, eax
mov dword [esp + 0x30], eax
jmp 0x493dcb
mov esi, 4
mov dword [esp + 0x30], esi
mov ebx, dword [esp + 0x18]
mov eax, ebx
cdq
idiv esi
test edx, edx
je 0x493de5
mov eax, esi
sub eax, edx
cdq
idiv esi
add ebx, edx
mov dword [esp + 0x18], ebx
mov bl, byte [esp + 0x13]
cmp esi, dword [esp + 0x24]
jle 0x493df3
mov dword [esp + 0x24], esi
xor edx, edx
mov dword [esp + 0x3c], edx
test ecx, ecx
jne 0x493e6d
test edi, edi
jne 0x493e6d
movzx ebx, bl
jmp 0x493e77
mov bl, byte [esp + 0x13]
test bl, bl
je 0x493e16
mov edx, dword [esp + 0x20]
cmp dl, bl
jne 0x493e67
mov eax, dword [esp + 0x34]
test eax, eax
jle 0x493e2a
cmp esi, eax
jle 0x493e2a
mov esi, eax
mov dword [esp + 0x30], eax
jmp 0x493e2e
mov dword [esp + 0x30], esi
mov eax, dword [esp + 0x18]
cdq
idiv esi
test edx, edx
je 0x493e44
mov eax, esi
sub eax, edx
cdq
idiv esi
add dword [esp + 0x18], edx
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
cmp esi, eax
cmovg eax, esi
mov dword [esp + 0x24], eax
test edi, edi
jne 0x493df3
movzx ebx, bl
movzx edx, dl
sub edx, ebx
mov dword [esp + 0x3c], edx
jmp 0x493e77
mov esi, dword [esp + 0x30]
jmp 0x493e48
xor ebx, ebx
test ecx, ecx
jne 0x493ec8
test edi, edi
jne 0x493ec8
lea edx, [esp + 0x348]
mov ecx, str._TCHAR_LPTSTR_LPCTSTR
call fcn.0049a8f0
test eax, eax
je 0x493e90
xor esi, esi
jmp 0x493ed3
lea edx, [esp + 0x348]
mov ecx, str._LPWSTR_LPCWSTR_WCHAR
call fcn.0049a8f0
test eax, eax
je 0x493eac
mov esi, 0x4b0
jmp 0x493ed3
lea edx, [esp + 0x348]
mov ecx, str._CHAR_LPSTR_LPCSTR_UCHAR
call fcn.0049a8f0
mov esi, eax
neg esi
sbb esi, esi
neg esi
dec esi
jmp 0x493ed3
or esi, 0xffffffff
test ecx, ecx
jne 0x493eed
test edi, edi
jne 0x493eed
lea edx, [esp + 0x348]
mov ecx, str._PTR_SHORT_INT_INT8_INT16_INT32_INT64_CHAR_ACCESS_MASK_PVOID_VOID_HALF_PTR_BOOL_LONG_LONG32_LONGLONG_LONG64_USN_INT_PTR_LONG_PTR_POINTER_64_POINTER_SIGNED_SIGNED_SSIZE_T_WPARAM___int64
call fcn.0049a8f0
mov edi, eax
neg edi
sbb edi, edi
inc edi
jmp 0x493ef9
xor edi, edi
test ecx, ecx
jne 0x493f15
cmp dword [esp + 0x28], edx
jne 0x493f15
lea edx, [esp + 0x348]
mov ecx, str._FLOAT_DOUBLE_PFLOAT_PDOUBLE
call fcn.0049a8f0
mov edx, dword [esp + 0x3c]
neg eax
sbb eax, eax
inc eax
jmp 0x493f17
xor eax, eax
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x493f3b
mov cl, byte [esp + 0x13]
test cl, cl
je 0x493f37
cmp byte [esp + 0x20], cl
mov ecx, dword [esp + 0x18]
je 0x493f3b
sub ecx, dword [esp + 0x38]
jmp 0x493f3b
mov ecx, dword [esp + 0x18]
push edx
push ebx
mov ebx, dword [esp + 0x24]
push esi
mov esi, dword [esp + 0x34]
push edi
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x7c]
push esi
push ecx
push dword [esp + 0x4c]
mov ecx, ebx
push eax
lea eax, [esp + 0x248]
push eax
call fcn.00494eb0
mov edi, eax
test edi, edi
je 0x494944
mov edx, dword [esp + 0x2c]
test esi, esi
jne 0x493f80
test edx, edx
je 0x4941a8
xor ecx, ecx
mov al, byte [esp + ecx + 0x348]
lea ecx, [ecx + 1]
mov byte [esp + ecx + 0x56f], al
test al, al
jne 0x493f82
mov bl, byte [esp + 0x220]
test edx, edx
je 0x494004
test esi, esi
jne 0x493faf
test bl, bl
jne 0x493faf
lea eax, [esi + 1]
jmp 0x493fb1
xor eax, eax
mov esi, edx
sub esi, eax
je 0x494000
nop word [eax + eax]
lea ecx, [esp + 0x570]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x493fd0
sub ecx, edx
je 0x493ff3
nop dword [eax + eax]
mov al, byte [esp + ecx + 0x570]
mov byte [esp + ecx + 0x571], al
sub ecx, 1
jne 0x493fe0
mov byte [esp + 0x571], 0x2a
sub esi, 1
jne 0x493fc0
mov esi, dword [esp + 0x28]
test bl, bl
je 0x49403e
test esi, esi
je 0x49403e
lea edx, [esp + 0x570]
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x494016
sub edx, ecx
lea ecx, [esp + 0xc8]
mov eax, ecx
sub edx, eax
lea edx, [esp + edx + 0x570]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x494031
mov ebx, dword [esp + 0x1c]
lea eax, [esp + 0x570]
push 1
lea edx, [esp + 0x6c]
mov dword [esp + 0x104], eax
push edx
mov ecx, dword [ebx + 0x1c]
lea edx, [esp + 0xe8]
push 0
push edx
lea edx, [esp + 0xc8]
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x1c]
cmp eax, 1
jne 0x494086
mov eax, dword [esp + 0xb8]
mov dword [edi + 0x14], eax
jmp 0x4941a4
push 0x28
call fcn.004ae4f6
add esp, 4
mov dword [esp + 0x4c], eax
mov ecx, eax
call fcn.00492f30
mov dword [edi + 0x14], eax
test eax, eax
je 0x494953
push 2
lea edx, [esp + 0x6c]
mov dword [esp + 0x114], eax
mov eax, dword [ebx + 0x1c]
push edx
push 1
lea edx, [esp + 0xec]
mov ecx, dword [eax]
push edx
lea edx, [esp + 0xc8]
push edx
push eax
call dword [ecx + 0x1c]
mov eax, dword [esp + 0xb8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, dword [edi + 0x14]
mov eax, dword [ebx + 0x1c]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebx + 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 4]
mov ecx, dword [edi + 0x14]
mov eax, dword [ebx + 0x20]
mov dword [ecx + 0x20], eax
cmp byte [esp + 0x220], 0
je 0x494119
test esi, esi
je 0x494119
cmp dword [esp + 0x2c], 0
mov ecx, 4
jne 0x494114
mov ecx, dword [edi + 8]
imul ecx, esi
jmp 0x494137
lea eax, [esp + 0x570]
push 0x2a
push eax
call fcn.004b7be9
add esp, 8
mov ecx, 4
test eax, eax
jne 0x494137
mov ecx, dword [edi + 8]
mov eax, dword [edi + 0x14]
mov edx, 5
mov dword [eax + 0x18], ecx
lea eax, [esp + 0x570]
mov dword [esp + 0x58], 0
lea ecx, [esp + 0x94]
mov dword [esp + 0x50], eax
mov dword [esp + 0x88], 3
mov eax, dword [edi + 0x14]
mov dword [esp + 0x120], eax
call fcn.004930b0
test eax, eax
je 0x494944
mov eax, dword [ebx + 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [edi + 0x14]
mov dword [eax + 0x1c], 0
mov dword [esp + 0x58], 4
mov dword [esp + 0x88], 1
mov edx, dword [esp + 0x2c]
mov bl, byte [esp + 0x13]
test bl, bl
je 0x4941ba
cmp byte [esp + 0x20], bl
jne 0x4947f2
mov ecx, dword [esp + 0x38]
test edx, edx
mov ebx, dword [esp + 0x18]
mov eax, 4
cmovne ecx, eax
test esi, esi
mov eax, 1
cmovne eax, esi
imul ecx, eax
add ebx, ecx
mov dword [esp + 0x18], ebx
jmp 0x4947f6
lea eax, [esp + 0x348]
mov dword [esp + 0x50], 0
push 0x28
push eax
call fcn.004b7be9
add esp, 8
test eax, eax
mov eax, dword [0x4e498c]
je 0x49432c
mov ebx, dword [eax + 0x94]
lea eax, [esp + 0x348]
push 0x4dc0ac
push eax
call fcn.004bb20e
add esp, 8
dec eax
mov ecx, 0x4e9a70
push 0
push eax
lea eax, [esp + 0x351]
push eax
call fcn.004385f0
mov ecx, dword [0x4e498c]
mov dword [ecx + 0x94], eax
test eax, eax
je 0x494963
lea edi, [esp + 0x348]
lea ecx, [edi + 1]
nop word [eax + eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x494260
lea eax, [esp + 0x348]
sub edi, ecx
push 0x4dc0ac
push eax
call fcn.004bb20e
mov esi, eax
lea eax, [esp + 0x350]
push 0x4dc0ac
push eax
call fcn.004bb20e
add esp, 0x10
lea ecx, [esp + 0x349]
sub edi, esi
add eax, ecx
sub edi, 3
mov ecx, 0x4e9a70
push 0
push 2
push 0
push edi
push eax
call fcn.0043a420
mov dword [esp + 0x50], eax
mov eax, dword [0x4e498c]
mov dword [eax + 0x94], ebx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x494308
lea ecx, [esp + 0x348]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4942d7
push 0
sub ecx, edx
push 1
push 0
lea eax, [ecx - 2]
mov ecx, 0x4e9a70
push eax
lea eax, [esp + 0x359]
push eax
call fcn.0043a420
mov dword [esp + 0x50], eax
test eax, eax
je 0x494993
mov ebx, dword [esp + 0x2c]
test ebx, ebx
jne 0x49447e
mov esi, dword [esp + 0x34]
test esi, esi
jle 0x494392
mov ecx, dword [esp + 0x58]
cmp ecx, 5
ja case.0x494325.1
jmp dword [ecx*4 + 0x494c10]
cmp dword [eax + 0x94], 0
je 0x4942c5
lea ecx, [esp + 0x348]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x494340
push 0
sub ecx, edx
push 2
push 0
lea eax, [ecx - 2]
mov ecx, 0x4e9a70
push eax
lea eax, [esp + 0x359]
push eax
call fcn.0043a420
mov dword [esp + 0x50], eax
jmp 0x4942c9
push 0
push 1
mov ecx, eax
call fcn.00401680
jmp case.0x494325.0
mov eax, 0x4d0335
mov ecx, eax
call fcn.0048de80
movzx eax, al
cmp eax, esi
jg 0x4943be
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x58]
cmp ecx, 5
ja case.0x49439b.1
jmp dword [ecx*4 + 0x494c28]
push 0
push 1
mov ecx, eax
call fcn.00401680
jmp case.0x49439b.0
mov eax, 0x4d0335
mov ecx, eax
call fcn.0048de80
movzx esi, al
mov ecx, dword [esp + 0x24]
cmp esi, ecx
mov al, byte [esp + 0x13]
cmovg ecx, esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x24], ecx
test al, al
je 0x4943dd
cmp byte [esp + 0x20], al
jne 0x4943fd
mov edi, dword [esp + 0x18]
test edi, edi
je 0x494401
mov eax, edi
cdq
idiv ecx
test edx, edx
je 0x494401
mov eax, ecx
sub eax, edx
cdq
idiv ecx
add edi, edx
mov dword [esp + 0x18], edi
jmp 0x494401
mov edi, dword [esp + 0x18]
mov eax, edi
cdq
mov dword [esp + 0xf0], eax
lea eax, [esp + 0x24]
mov dword [esp + 0xf4], edx
cdq
mov dword [esp + 0x80], eax
lea eax, [esp + 0x94]
push 4
push eax
lea eax, [esp + 0x78]
mov dword [esp + 0x8c], edx
push eax
lea eax, [esp + 0x48]
push eax
call fcn.0048e0e0
add esp, 0x10
cmp dword [esp + 0x78], 1
jne 0x4949b9
mov al, byte [esp + 0x13]
test al, al
je 0x49445e
cmp byte [esp + 0x20], al
jne 0x4944f6
mov ecx, dword [esp + 0x24]
mov eax, edi
cdq
idiv ecx
test edx, edx
je 0x4944f6
mov eax, ecx
sub eax, edx
cdq
idiv ecx
add edi, edx
mov dword [esp + 0x18], edi
jmp 0x4944f6
push 1
lea eax, [esp + 0x98]
xorps xmm0, xmm0
push eax
lea eax, [esp + 0x78]
movlpd qword [esp + 0xf8], xmm0
push eax
lea eax, [esp + 0x48]
push eax
call fcn.0048e0e0
add esp, 0x10
cmp dword [esp + 0x78], 1
jne 0x4949b9
mov eax, dword [esp + 0x34]
test eax, eax
jle 0x4944c6
cmp eax, 4
jge 0x4944c6
mov esi, eax
mov dword [esp + 0x30], eax
jmp 0x4944cf
mov esi, 4
mov dword [esp + 0x30], esi
mov edi, dword [esp + 0x18]
mov eax, edi
cdq
idiv esi
test edx, edx
je 0x4944e9
mov eax, esi
sub eax, edx
cdq
idiv esi
add edi, edx
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0x24]
cmp esi, eax
cmovg eax, esi
mov dword [esp + 0x24], eax
mov esi, dword [esp + 0x70]
xor eax, eax
push 0
push 0
push 0xffff
push 0
push 0
test ebx, ebx
mov ecx, edi
cmovne ecx, eax
mov eax, esi
sub eax, ecx
mov ecx, dword [esp + 0x30]
push eax
push dword [esp + 0x40]
lea eax, [esp + 0x80]
push edi
push ebx
push eax
lea eax, [esp + 0x248]
push eax
call fcn.00494eb0
mov edi, eax
test edi, edi
je 0x4949e3
xor edx, edx
mov cl, byte [esp + edx + 0x348]
lea edx, [edx + 1]
mov byte [esp + edx + 0x56f], cl
test cl, cl
jne 0x494540
test ebx, ebx
mov bl, byte [esp + 0x220]
je 0x4945c4
cmp dword [esp + 0x28], 0
jne 0x494572
test bl, bl
jne 0x494572
mov eax, 1
jmp 0x494574
xor eax, eax
mov esi, dword [esp + 0x2c]
sub esi, eax
je 0x4945c0
nop dword [eax]
lea ecx, [esp + 0x570]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x494590
sub ecx, edx
je 0x4945b3
nop dword [eax + eax]
mov al, byte [esp + ecx + 0x570]
mov byte [esp + ecx + 0x571], al
sub ecx, 1
jne 0x4945a0
mov byte [esp + 0x571], 0x2a
sub esi, 1
jne 0x494580
mov esi, dword [esp + 0x70]
test bl, bl
mov ebx, dword [esp + 0x28]
je 0x49460d
test ebx, ebx
je 0x49460d
lea edx, [esp + 0x570]
lea ecx, [edx + 1]
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x4945e0
sub edx, ecx
lea ecx, [esp + 0xc8]
mov eax, ecx
sub edx, eax
lea edx, [esp + edx + 0x570]
nop dword [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x494600
lea eax, [esp + 0x570]
mov dword [esp + 0x100], eax
lea edx, [esp + 0x68]
mov eax, dword [esp + 0x1c]
push 1
push edx
push 0
mov ecx, dword [eax + 0x1c]
lea edx, [esp + 0xec]
push edx
lea edx, [esp + 0xc8]
push edx
mov eax, dword [ecx]
push ecx
call dword [eax + 0x1c]
cmp eax, 1
jne 0x494655
mov eax, dword [esp + 0xb8]
mov dword [edi + 0x14], eax
jmp 0x4947a2
push 0x28
call fcn.004ae4f6
add esp, 4
mov dword [esp + 0x4c], eax
mov ecx, eax
call fcn.00492f30
mov dword [edi + 0x14], eax
test eax, eax
je 0x4949f6
mov dword [esp + 0x110], eax
lea edx, [esp + 0x68]
mov eax, dword [esp + 0x1c]
push 2
push edx
push 1
mov eax, dword [eax + 0x1c]
lea edx, [esp + 0xec]
push edx
lea edx, [esp + 0xc8]
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
mov edx, dword [esp + 0x1c]
mov ecx, dword [edi + 0x14]
mov eax, dword [edx + 0x1c]
mov dword [ecx + 0x1c], eax
mov eax, dword [edx + 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 4]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi + 0x14]
mov eax, dword [eax + 0x20]
mov dword [ecx + 0x20], eax
cmp byte [esp + 0x220], 0
je 0x4946e7
test ebx, ebx
je 0x4946e7
cmp dword [esp + 0x2c], 0
mov ecx, 4
jne 0x4946e2
mov ecx, dword [edi + 8]
imul ecx, ebx
jmp 0x494705
lea eax, [esp + 0x570]
push 0x2a
push eax
call fcn.004b7be9
add esp, 8
mov ecx, 4
test eax, eax
jne 0x494705
mov ecx, dword [edi + 8]
mov eax, dword [edi + 0x14]
push 0x2a
mov dword [eax + 0x18], ecx
lea eax, [esp + 0x574]
push eax
call fcn.004b7be9
add esp, 8
test eax, eax
jne 0x494737
lea eax, [esp + 0x570]
push 0x5b
push eax
call fcn.004b7be9
add esp, 8
test eax, eax
je 0x49474a
lea eax, [esp + 0x570]
mov dword [esp + 0x58], 0
mov dword [esp + 0x50], eax
mov dword [esp + 0x88], 3
lea ecx, [esp + 0x94]
mov eax, dword [edi + 0x14]
mov edx, 5
mov dword [esp + 0x120], eax
call fcn.004930b0
test eax, eax
je 0x4949e3
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [edi + 0x14]
mov dword [eax + 0x1c], 0
mov dword [esp + 0x58], 4
mov dword [esp + 0x88], 1
cmp dword [esp + 0x2c], 0
je 0x4947c0
test ebx, ebx
mov eax, 1
cmovne eax, ebx
mov ebx, dword [esp + 0x18]
lea ebx, [ebx + eax*4]
mov dword [esp + 0x18], ebx
jmp 0x4947f6
mov al, byte [esp + 0x13]
test al, al
je 0x4947ce
cmp byte [esp + 0x20], al
jne 0x4947f2
test ebx, ebx
je 0x4947e7
mov ecx, esi
lea eax, [ebx - 1]
sub ecx, dword [esp + 0x18]
imul ecx, eax
lea ebx, [ecx + esi]
mov dword [esp + 0x18], ebx
jmp 0x4947f6
xor ecx, ecx
lea ebx, [ecx + esi]
mov dword [esp + 0x18], ebx
jmp 0x4947f6
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x44]
test edx, edx
je 0x494833
mov ecx, dword [esp + edx*4 + 0x1e0]
mov eax, ebx
sub eax, ecx
cmp eax, dword [esp + edx*4 + 0x160]
jle 0x494819
mov dword [esp + edx*4 + 0x160], eax
cmp byte [esp + edx + 0x130], 0
jne 0x494833
mov ebx, ecx
mov byte [esp + 0x20], 0
mov dword [esp + 0x18], ebx
mov byte [esp + 0x13], 0
mov esi, dword [esp + 0x14]
push 0x7d
push esi
call fcn.004b7be9
add esp, 8
test eax, eax
je 0x49488b
mov edx, 0x4dc034
mov ecx, esi
call fcn.00405fc0
test eax, eax
je 0x494879
push 0x7d
push esi
call fcn.004b7be9
mov ecx, dword [esp + 0x1c]
add esp, 8
mov edx, 0x4dc034
mov esi, eax
call fcn.00405fc0
cmp esi, eax
mov esi, dword [esp + 0x14]
jae 0x49488b
push 0x4d4ed8
push esi
call fcn.004bb20e
add esp, 8
add esi, eax
jmp 0x4948bb
mov edx, 0x4dc034
mov ecx, esi
call fcn.00405fc0
test eax, eax
je 0x4948aa
push edx
push esi
call fcn.004bb20e
inc esi
add esp, 8
add esi, eax
jmp 0x4948bb
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4948b0
sub ecx, edx
add esi, ecx
mov dword [esp + 0x14], esi
cmp byte [esi], 0
jne 0x493450
jmp 0x494a34
mov ecx, dword [esp + 0x1c]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
push edi
push str.Invalid_structure_definition.
mov ecx, 0x4e9a70
call fcn.004470d0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x1c]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
lea eax, [esp + 0x798]
mov ecx, 0x4e9a70
push eax
push str.Bit_field_must_not_be_a_pointer
call fcn.004470d0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x1c]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
lea eax, [esp + 0x798]
mov ecx, 0x4e9a70
push eax
push str.Invalid_structure_definition.
call fcn.004470d0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
push 0x4d0335
jmp 0x494bc5
mov dword [ecx + 0x94], ebx
mov ecx, dword [esp + 0x1c]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
lea eax, [esp + 0x348]
mov ecx, 0x4e9a70
push eax
push str.Variable_was_not_found_in_function.
call fcn.004470d0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
lea eax, [esp + 0x348]
mov ecx, 0x4e9a70
push eax
push str.Invalid_structure_definition.
call fcn.004470d0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x1c]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
lea eax, [esp + 0x348]
mov ecx, 0x4e9a70
push eax
push str.Invalid_structure_definition.
call fcn.004470d0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x1c]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x1c]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
push 0x4d0335
jmp 0x494bc5
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
lea eax, [esp + 0x220]
mov ecx, 0x4e9a70
push eax
push str.Invalid_structure_definition.
call fcn.004470d0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x494a52
mov eax, ebx
cdq
idiv ecx
test edx, edx
je 0x494a52
mov eax, ecx
sub eax, edx
cdq
idiv ecx
add ebx, edx
test ebx, ebx
jne 0x494a7c
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx]
mov ecx, dword [eax + 8]
cmp ecx, 5
ja case.0x494a6e.1
jmp dword [ecx*4 + 0x494c40]
mov eax, dword [eax]
jmp 0x4932d1
cmp dword [edi + 0x18], ebx
je 0x494af9
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx]
mov ecx, dword [eax + 8]
cmp ecx, 5
ja case.0x494a95.1
jmp dword [ecx*4 + 0x494c58]
mov ecx, dword [eax]
push 0
push 1
call fcn.00401680
push eax
push str.Invalid_structure_Length.
mov ecx, 0x4e9a70
call fcn.004470d0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [eax]
mov ecx, 0x4e9a70
push eax
push str.Invalid_structure_Length.
call fcn.004470d0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x4d0335
mov ecx, 0x4e9a70
push eax
push str.Invalid_structure_Length.
call fcn.004470d0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [edi + 0x14], 0
je 0x494b47
mov eax, dword [edi + 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
cmp dword [edi + 0xc], 1
jg 0x494b76
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x18]
cmp byte [eax], 0
jne 0x494b76
mov dword [edi + 0x1c], 0
cmp dword [esp + 0x60], 2
jle 0x494b47
mov ebx, dword [esp + 0x48]
mov ecx, dword [ebx + 8]
call fcn.0046bd30
test eax, eax
je 0x494b47
mov ecx, dword [ebx + 8]
call fcn.0046bd30
push eax
mov ecx, edi
call fcn.00494fe0
cmp dword [edi + 0xc], 1
jne 0x494b6d
mov ecx, dword [edi + 8]
cmp dword [ecx + 0x18], 0
je 0x494b6d
cmp word [ecx + 4], 0
jne 0x494b6d
cmp dword [ecx + 0x10], 0
jne 0x494b6d
cmp dword [ecx + 0x14], 0
jne 0x494b6d
mov byte [edi + 0x15], 1
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push 0
mov ecx, edi
call fcn.00494c90
mov dword [edi + 0x1c], eax
test eax, eax
jne 0x494b20
mov eax, dword [edi]
push edi
call dword [eax + 8]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov eax, dword [esi]
mov ecx, dword [eax + 8]
cmp ecx, 5
ja case.0x494ba7.1
jmp dword [ecx*4 + 0x494c70]
mov ecx, dword [eax]
push 0
push 1
call fcn.00401680
jmp 0x494bc4
mov eax, dword [eax]
jmp 0x494bc4
mov eax, 0x4d0335
push eax
push str.Out_of_memory.
mov ecx, 0x4e9a70
call fcn.004470d0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret