Function at 0x533bf0
Capabilities:
Check if file exists
Get file attributes
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x370
push ebx
mov edx, dword [ebp + 0x18]
push esi
push edi
mov ecx, 0x44
xor eax, eax
lea edi, [ebp - 0x118]
xor ebx, ebx
rep stosd dword es:[edi], eax
lea eax, [ebp - 8]
lea ecx, [ebp - 0x118]
push eax
mov eax, dword [ebp + 0x14]
push ecx
push edx
push eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x11c], ebx
mov dword [ebp - 8], ebx
call fcn.00549a40
mov ecx, dword [ebp - 0x10c]
mov edi, dword [ebp + 0xc]
add esp, 0x10
cmp eax, ebx
mov dword [ebp + 0x14], ecx
je 0x533c67
test byte [ebp + 0x10], 1
je 0x533c56
pop edi
pop esi
and eax, 0xffff
pop ebx
mov esp, ebp
pop ebp
ret
push 0x581c4c
push edi
push 2
push eax
call fcn.005469f0
add esp, 0x10
cmp edi, 0xffffffff
jne 0x533f30
cmp dword [ebp + 0x14], ebx
je 0x533ee9
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 0x12c], edx
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x120], edx
mov edx, dword [ebp + 0x10]
mov ecx, 0x4e
xor eax, eax
lea edi, [ebp - 0x268]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x140]
mov eax, edx
and eax, 0x80
and ecx, 0xffbfffff
shl eax, 0xf
or eax, ecx
mov ecx, edx
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x13c]
shr ecx, 0xa
and ecx, 0x100
and ah, 0xfe
or ecx, eax
mov esi, dword [ebp + 0x1c]
mov eax, ecx
mov dword [ebp + 8], ebx
xor eax, edx
mov dword [ebp - 0x130], ebx
and eax, 0x8000000
xor ecx, eax
mov eax, edx
and eax, 0x80000000
neg eax
sbb eax, eax
and ecx, 0xffdfffff
shr edx, 5
and edx, 0x200000
and eax, esi
or edx, ecx
mov ecx, dword [ebp + 0x10]
and ecx, 0x8000000
mov esi, dword [ebp - 0x138]
shl ecx, 1
and edx, 0xefffffff
and esi, 0xfffffdff
or ecx, edx
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x13c], ecx
mov ecx, edx
shr ecx, 0x13
and ecx, 0x200
or ecx, esi
shr edx, 0x11
and edx, 0x400
and ch, 0xfb
or edx, ecx
mov ecx, dword [ebp + 0x10]
shr ecx, 0x12
and ecx, 0x800
and dh, 0xf7
or ecx, edx
mov edx, dword [ebp + 0x10]
shr edx, 0x10
and edx, 0x2000
and ch, 0xdf
or edx, ecx
mov ecx, eax
and ecx, 1
and edx, 0xfffbffff
shl ecx, 0x12
or ecx, edx
mov edx, eax
and edx, 2
and ch, 0x7f
shl edx, 0xe
and eax, 0xc
or edx, ecx
shl eax, 0x13
and edx, 0xff9fffff
lea ecx, [ebp - 0x130]
or eax, edx
lea edx, [ebp + 8]
mov dword [ebp - 0x138], eax
lea eax, [ebp - 0x370]
push edx
push eax
lea edx, [ebp - 0x268]
xor esi, esi
push ecx
push edx
mov dword [ebp - 0x1ac], esi
call fcn.0054cc40
add esp, 0x10
cmp eax, esi
jne 0x535d2e
lea edi, [ebp - 0x370]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [ebp - 8]
not ecx
dec ecx
cmp eax, esi
mov dword [ebp + 0x14], ecx
jne 0x533eab
mov dword [ebp + 0xc], 0xffffffff
xor ebx, ebx
cmp dword [ebp + 0xc], esi
jl 0x533e3f
push ebx
call fcn.0054a4b0
add esp, 4
cmp eax, esi
je 0x533e3f
test byte [ebp + 0x10], 1
jne 0x5341bf
push 0x581c54
push ebx
push 2
push eax
call fcn.005469f0
add esp, 0x10
lea eax, [ebp + 0xc]
push 4
lea ecx, [ebp - 4]
push eax
push ecx
call fcn.0054a660
add esp, 0xc
cmp eax, esi
je 0x533e70
test byte [ebp + 0x10], 1
jne 0x5341bf
push 0x581c5c
push ebx
push 2
push eax
call fcn.005469f0
add esp, 0x10
cmp dword [ebp + 0xc], 0xffffffff
je 0x533ea6
mov eax, dword [ebp - 4]
mov cl, byte [eax + 0x128]
mov ebx, dword [eax + 0xbc]
test cl, 1
je 0x533e12
mov eax, dword [eax + 0x50]
lea edx, [ebp - 0x370]
push edx
push eax
call fcn.00563730
add esp, 8
cmp eax, esi
je 0x533eab
jmp 0x533e12
mov dword [ebp - 4], esi
jmp 0x533eb2
mov eax, dword [ebp - 4]
cmp eax, esi
jne 0x533f17
lea ecx, [ebp - 0x370]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x533ef0
lea edx, [ebp - 0x370]
lea eax, [ebp - 0x268]
push edx
push eax
call fcn.00537240
add esp, 8
cmp eax, 0xffffffff
je 0x533ee9
lea ecx, [ebp - 0x268]
test ecx, ecx
jmp 0x533ef8
xor esi, esi
jmp 0x534196
lea edx, [ebp - 0x268]
test edx, edx
je 0x533f0f
mov eax, dword [ebp - 0x138]
test ah, 0x40
je 0x533f0f
mov esi, 1
jmp 0x534196
or esi, 0xffffffff
jmp 0x534196
mov esi, dword [eax + 0x130]
and esi, 0x4000
neg esi
sbb esi, esi
and esi, 2
dec esi
jmp 0x534196
mov eax, dword [ebp + 8]
push 4
lea ecx, [ebp - 4]
push eax
push ecx
push edi
call fcn.00549f30
add esp, 0x10
cmp eax, ebx
je 0x533f7a
cmp eax, 0xc0000020
jne 0x533f52
xor esi, esi
jmp 0x533f96
test byte [ebp + 0x10], 1
je 0x533f64
pop edi
pop esi
and eax, 0xffff
pop ebx
mov esp, ebp
pop ebp
ret
push 0x581c64
push edi
push 2
push eax
call fcn.005469f0
mov esi, dword [ebp + 0x10]
add esp, 0x10
jmp 0x533f96
mov eax, dword [ebp - 4]
cmp eax, ebx
je 0x533f93
mov ecx, dword [eax + 0x130]
test ch, 0x40
je 0x533f93
mov esi, 1
jmp 0x533f96
or esi, 0xffffffff
mov eax, dword [ebp - 4]
test eax, eax
je 0x534196
mov edx, dword [ebp + 0x10]
mov eax, dword [eax + 0x128]
mov ecx, edx
and eax, 0xfff7ffff
and ecx, 1
shl ecx, 0x13
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x128], ecx
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x534196
mov eax, dword [ecx + 0x128]
test al, 1
jne 0x534196
test byte [ecx + 0x132], 0x80
jne 0x534196
cmp edi, 5
je 0x5341cb
test edi, edi
je 0x533ffe
cmp edi, 6
jne 0x534196
mov edi, 4
mov ebx, edx
and eax, 0xffbfffff
and ebx, 0x80
shl ebx, 0xf
or ebx, eax
mov dword [ecx + 0x128], ebx
mov eax, dword [ebp - 4]
mov ecx, edx
mov ebx, dword [eax + 0x12c]
shr ecx, 0xa
and ecx, 0x100
and bh, 0xfe
or ecx, ebx
mov dword [eax + 0x12c], ecx
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x12c]
mov ebx, eax
xor ebx, edx
and ebx, 0x8000000
xor ebx, eax
mov eax, edx
and eax, 0x80000000
mov dword [ecx + 0x12c], ebx
mov ecx, dword [ebp + 0x1c]
neg eax
sbb eax, eax
and eax, ecx
mov ecx, dword [ebp - 4]
shr edx, 5
mov ebx, dword [ecx + 0x12c]
and edx, 0x200000
and ebx, 0xffdfffff
or edx, ebx
mov dword [ecx + 0x12c], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x10]
mov ebx, dword [ecx + 0x12c]
and edx, 0x8000000
shl edx, 1
and ebx, 0xefffffff
or edx, ebx
mov dword [ecx + 0x12c], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x10]
mov ebx, dword [ecx + 0x130]
shr edx, 0x13
and edx, 0x200
and bh, 0xfd
or edx, ebx
mov dword [ecx + 0x130], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x10]
mov ebx, dword [ecx + 0x130]
shr edx, 0x11
and edx, 0x400
and bh, 0xfb
or edx, ebx
mov dword [ecx + 0x130], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x10]
mov ebx, dword [ecx + 0x130]
shr edx, 0x12
and edx, 0x800
and bh, 0xf7
or edx, ebx
mov dword [ecx + 0x130], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x10]
mov ebx, dword [ecx + 0x130]
shr edx, 0x10
and edx, 0x2000
and bh, 0xdf
or edx, ebx
mov dword [ecx + 0x130], edx
mov ecx, dword [ebp - 4]
mov edx, eax
mov ebx, dword [ecx + 0x130]
and edx, 1
shl edx, 0x12
and ebx, 0xfffbffff
or edx, ebx
mov dword [ecx + 0x130], edx
mov ecx, dword [ebp - 4]
mov edx, eax
and eax, 0xc
mov ebx, dword [ecx + 0x130]
and edx, 2
shl edx, 0xe
and bh, 0x7f
push 1
or edx, ebx
push edi
mov dword [ecx + 0x130], edx
mov ecx, dword [ebp - 4]
shl eax, 0x13
mov edx, dword [ecx + 0x130]
push 1
and edx, 0xff9fffff
or eax, edx
mov dword [ecx + 0x130], eax
mov eax, dword [ebp - 4]
push eax
call fcn.005363f0
mov ebx, dword [ebp - 0x11c]
add esp, 0x10
mov edx, dword [ebp - 4]
lea ecx, [ebp - 0x118]
push esi
push ecx
push edx
call fcn.00549080
add esp, 0xc
test eax, eax
je 0x5341e6
mov ecx, dword [ebp - 4]
test ecx, ecx
jne 0x53424d
test byte [ebp + 0x10], 1
je 0x5341d5
pop edi
pop esi
and eax, 0xffff
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, 1
jmp 0x534003
push 0x581c6c
push ebx
push 2
push eax
call fcn.005469f0
add esp, 0x10
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x53438e
mov edx, dword [ebp - 4]
test edx, edx
je 0x534335
movsx ecx, byte [edx + 0x11e]
cmp ecx, 3
ja case.default.0x534a33
jmp dword [ecx*4 + 0x535d38]
mov edx, dword [ebp - 0xc8]
mov esi, eax
xor ecx, ecx
cmp ecx, esi
jge 0x53438e
mov al, byte [ecx + 0x581c74]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 7
jl 0x534220
cmp ecx, esi
jge 0x53438e
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x534241
jmp 0x53438e
push ecx
push eax
push eax
push 0
call fcn.00546a20
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0xc8]
mov esi, eax
xor ecx, ecx
cmp ecx, esi
jge 0x53438e
mov al, byte [ecx + 0x581c7c]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 4
jl 0x53426b
cmp ecx, esi
jge 0x53438e
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x53428c
jmp 0x53438e
mov edx, dword [ebp - 0xc8]
mov esi, eax
xor ecx, ecx
cmp ecx, esi
jge 0x53438e
mov al, byte [ecx + 0x581c84]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 4
jl 0x5342a2
cmp ecx, esi
jge 0x53438e
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x5342c3
jmp 0x53438e
mov ecx, dword [edx + 0x12c]
mov edx, dword [ebp - 0xc8]
test ecx, 0x8000000
mov esi, eax
je 0x534311
xor ecx, ecx
cmp ecx, esi
jge 0x53438e
mov al, byte [ecx + 0x581c8c]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 9
jl 0x5342e7
cmp ecx, esi
jge 0x53438e
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x534308
jmp 0x53438e
xor ecx, ecx
cmp ecx, esi
jge 0x53438e
mov al, byte [ecx + 0x581c98]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 7
jl 0x534313
cmp ecx, esi
jge 0x53438e
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x53432c
jmp 0x53438e
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0xc8]
test ecx, 0x8000000
mov esi, eax
je 0x53436c
xor ecx, ecx
cmp ecx, esi
jge 0x53438e
mov al, byte [ecx + 0x581ca0]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 9
jl 0x53434a
cmp ecx, esi
jge 0x53438e
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x534363
jmp 0x53438e
xor ecx, ecx
cmp ecx, esi
jge 0x53438e
mov al, byte [ecx + 0x581cac]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 7
jl 0x53436e
cmp ecx, esi
jge 0x53438e
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x534387
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x534465
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x53443b
mov ecx, dword [ecx + 0x128]
test ch, 0x10
je 0x5343e6
mov ecx, dword [ebp - 0xb8]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x534465
mov dl, byte [eax + 0x581cb4]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 3
jl 0x5343bc
cmp eax, esi
jge 0x534465
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x5343dd
jmp 0x534465
test cl, 1
mov ecx, dword [ebp - 0xb8]
mov esi, eax
jne 0x534417
xor eax, eax
cmp eax, esi
jge 0x534465
mov dl, byte [eax + 0x581cb8]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 7
jl 0x5343f5
cmp eax, esi
jge 0x534465
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x53440e
jmp 0x534465
xor eax, eax
cmp eax, esi
jge 0x534465
mov dl, byte [eax + 0x581cc0]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 2
jl 0x534419
cmp eax, esi
jge 0x534465
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x534432
jmp 0x534465
mov ecx, dword [ebp - 0xb8]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x534465
mov dl, byte [eax + 0x581cc4]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 7
jl 0x534445
cmp eax, esi
jge 0x534465
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x53445e
mov eax, dword [ebp - 0xa4]
test eax, eax
je 0x534553
mov edx, dword [ebp - 4]
test edx, edx
je 0x534529
mov ecx, dword [edx + 0x128]
test ch, 1
je 0x5344c0
mov ecx, dword [ebp - 0xa8]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x534553
mov dl, byte [eax + 0x581ccc]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 3
jl 0x534493
cmp eax, esi
jge 0x534553
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x5344b4
jmp 0x534553
test ch, 2
jne 0x5344fd
test dword [edx + 0x12c], 0x60000000
jne 0x5344fd
mov ecx, dword [ebp - 0xa8]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x534553
mov dl, byte [eax + 0x581cd4]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 7
jl 0x5344db
cmp eax, esi
jge 0x534553
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x5344f4
jmp 0x534553
mov ecx, dword [ebp - 0xa8]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x534553
mov dl, byte [eax + 0x581cd0]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 2
jl 0x534507
cmp eax, esi
jge 0x534553
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x534520
jmp 0x534553
mov ecx, dword [ebp - 0xa8]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x534553
mov dl, byte [eax + 0x581cdc]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 7
jl 0x534533
cmp eax, esi
jge 0x534553
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x53454c
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x53463d
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x534613
mov ecx, dword [ecx + 0x128]
test ch, 0x20
je 0x5345ae
mov ecx, dword [ebp - 0xa0]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x53463d
mov dl, byte [eax + 0x581ce4]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 3
jl 0x534581
cmp eax, esi
jge 0x53463d
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x5345a2
jmp 0x53463d
test ecx, 0x1000000
jne 0x5345e7
test cl, 1
jne 0x5345e7
mov ecx, dword [ebp - 0xa0]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x53463d
mov dl, byte [eax + 0x581cec]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 7
jl 0x5345c5
cmp eax, esi
jge 0x53463d
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x5345de
jmp 0x53463d
mov ecx, dword [ebp - 0xa0]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x53463d
mov dl, byte [eax + 0x581ce8]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 2
jl 0x5345f1
cmp eax, esi
jge 0x53463d
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x53460a
jmp 0x53463d
mov ecx, dword [ebp - 0xa0]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x53463d
mov dl, byte [eax + 0x581cf4]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 7
jl 0x53461d
cmp eax, esi
jge 0x53463d
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x534636
mov ecx, dword [ebp - 0x94]
test ecx, ecx
je 0x534768
mov esi, dword [ebp - 4]
test esi, esi
je 0x534707
mov eax, dword [esi + 0x128]
test eax, 0x1000000
je 0x534681
mov edi, dword [ebp - 0x98]
mov edx, ecx
mov eax, 0x20202020
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
jmp 0x534768
mov edx, dword [esi + 0xbc]
test edx, edx
jl 0x5346ce
mov edi, dword [esi + 0x50]
test edi, edi
je 0x5346ce
movsx esi, word [esi + 0x11a]
mov edx, dword [ebp - 0x98]
xor eax, eax
test esi, esi
jle 0x5346b8
cmp eax, ecx
jge 0x534768
mov bl, byte [edi]
mov byte [edx], bl
inc edx
inc edi
inc eax
cmp eax, esi
jl 0x5346a5
cmp eax, ecx
jge 0x534768
sub ecx, eax
mov byte [edx], 0x20
inc edx
dec ecx
jne 0x5346c2
jmp 0x534768
test dword [ebp + 0x10], 0x8000000
je 0x534663
test al, 1
jne 0x534663
mov edx, dword [ebp - 0x98]
mov esi, ecx
xor eax, eax
cmp eax, esi
jge 0x534768
mov cl, byte [eax + 0x581cfc]
mov byte [edx], cl
inc edx
inc eax
cmp eax, 7
jl 0x5346e5
cmp eax, esi
jge 0x534768
sub esi, eax
mov byte [edx], 0x20
inc edx
dec esi
jne 0x5346fe
jmp 0x534768
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp - 0x98]
test eax, 0x8000000
mov esi, ecx
je 0x53473d
xor eax, eax
cmp eax, esi
jge 0x534768
mov cl, byte [eax + 0x581d04]
mov byte [edx], cl
inc edx
inc eax
cmp eax, 7
jl 0x53471b
cmp eax, esi
jge 0x534768
sub esi, eax
mov byte [edx], 0x20
inc edx
dec esi
jne 0x534734
jmp 0x534768
mov ecx, dword [ebp + 0x14]
xor eax, eax
test ecx, ecx
jle 0x53475b
mov edi, ecx
cmp eax, esi
jge 0x534768
mov cl, byte [ebp + eax - 0x370]
mov byte [edx], cl
inc edx
inc eax
cmp eax, edi
jl 0x534748
cmp eax, esi
jge 0x534768
sub esi, eax
mov byte [edx], 0x20
inc edx
dec esi
jne 0x534761
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
je 0x534845
mov edx, dword [ebp - 4]
xor eax, eax
test edx, edx
je 0x5347a6
mov esi, dword [edx + 0xbc]
test esi, esi
jl 0x5347bd
mov esi, dword [edx + 0x50]
test esi, esi
je 0x5347bd
test byte [edx + 0x128], 0x10
jne 0x5347bd
mov eax, dword [edx + 0x130]
and eax, 0x4000
jmp 0x5347b5
mov edx, dword [ebp + 0x14]
test edx, edx
je 0x5347bd
mov eax, dword [ebp + 0x10]
and eax, 0x40000000
neg eax
sbb eax, eax
and eax, 2
dec eax
cmp ecx, 5
jl 0x53482c
cmp ecx, 0x11
jg 0x53482c
add ecx, 0xfffffffb
cmp ecx, 0xc
ja case.default.0x535606
jmp dword [ecx*4 + 0x535d48]
mov edx, dword [ebp - 0x100]
mov byte [edx], al
jmp 0x534845
mov ecx, dword [ebp - 0x100]
mov word [ecx], ax
jmp 0x534845
mov edx, dword [ebp - 0x100]
mov dword [edx], eax
jmp 0x534845
mov ecx, dword [ebp - 0x100]
mov byte [ecx], al
jmp 0x534845
mov edx, dword [ebp - 0x100]
mov word [edx], ax
jmp 0x534845
mov ecx, dword [ebp - 0x100]
mov dword [ecx], eax
jmp 0x534845
mov ecx, dword [ebp - 0x100]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x100]
mov dword [eax + 4], edx
jmp 0x534845
push 0x3c5
push 0x581d0c
push 2
push 0xc0000008
call fcn.005469f0
add esp, 0x10
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x534965
mov edx, dword [ebp - 4]
test edx, edx
je 0x53493b
movsx ecx, byte [edx + 0x11d]
cmp ecx, 3
ja case.default.0x534a33
jmp dword [ecx*4 + 0x535d7c]
mov ecx, dword [ebp - 0x90]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x534965
mov dl, byte [eax + 0x581d2c]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 0xa
jl 0x53487f
cmp eax, esi
jge 0x534965
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x5348a0
jmp 0x534965
mov ecx, dword [ebp - 0x90]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x534965
mov dl, byte [eax + 0x581d38]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 8
jl 0x5348b6
cmp eax, esi
jge 0x534965
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x5348d7
jmp 0x534965
mov ecx, dword [ebp - 0x90]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x534965
mov dl, byte [eax + 0x581d44]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 7
jl 0x5348ed
cmp eax, esi
jge 0x534965
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x534906
jmp 0x534965
mov ecx, dword [ebp - 0x90]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x534965
mov dl, byte [eax + 0x581d4c]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 7
jl 0x534919
cmp eax, esi
jge 0x534965
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x534932
jmp 0x534965
mov ecx, dword [ebp - 0x90]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x534965
mov dl, byte [eax + 0x581d54]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 7
jl 0x534945
cmp eax, esi
jge 0x534965
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x53495e
mov ecx, dword [ebp - 0xdc]
test ecx, ecx
je 0x534a0a
mov edx, dword [ebp - 4]
xor eax, eax
test edx, edx
je 0x534982
mov eax, dword [edx + 0xb8]
cmp ecx, 5
jl 0x5349f1
cmp ecx, 0x11
jg 0x5349f1
add ecx, 0xfffffffb
cmp ecx, 0xc
ja case.default.0x535606
jmp dword [ecx*4 + 0x535d8c]
mov ecx, dword [ebp - 0xe0]
mov byte [ecx], al
jmp 0x534a0a
mov edx, dword [ebp - 0xe0]
mov word [edx], ax
jmp 0x534a0a
mov ecx, dword [ebp - 0xe0]
mov dword [ecx], eax
jmp 0x534a0a
mov edx, dword [ebp - 0xe0]
mov byte [edx], al
jmp 0x534a0a
mov ecx, dword [ebp - 0xe0]
mov word [ecx], ax
jmp 0x534a0a
mov edx, dword [ebp - 0xe0]
mov dword [edx], eax
jmp 0x534a0a
mov ecx, dword [ebp - 0xe0]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0xe0]
mov dword [eax + 4], edx
jmp 0x534a0a
push 0x413
push 0x581d5c
push 2
push 0xc0000008
call fcn.005469f0
add esp, 0x10
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x534bcf
mov edx, dword [ebp - 4]
test edx, edx
je 0x534ba5
movsx ecx, byte [edx + 0x11c]
cmp ecx, 7
ja case.default.0x534a33
jmp dword [ecx*4 + 0x535dc0]
mov edx, dword [ebp - 0x88]
mov esi, eax
xor ecx, ecx
cmp ecx, esi
jge 0x534bcf
mov al, byte [ecx + 0x581d7c]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 5
jl 0x534a44
cmp ecx, esi
jge 0x534bcf
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x534a65
jmp 0x534bcf
mov edx, dword [ebp - 0x88]
mov esi, eax
xor ecx, ecx
cmp ecx, esi
jge 0x534bcf
mov al, byte [ecx + 0x581d84]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 6
jl 0x534a7b
cmp ecx, esi
jge 0x534bcf
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x534a9c
jmp 0x534bcf
mov edx, dword [ebp - 0x88]
mov esi, eax
xor ecx, ecx
cmp ecx, esi
jge 0x534bcf
mov al, byte [ecx + 0x581d8c]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 9
jl 0x534ab2
cmp ecx, esi
jge 0x534bcf
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x534ad3
jmp 0x534bcf
mov edx, dword [ebp - 0x88]
mov esi, eax
xor ecx, ecx
cmp ecx, esi
jge 0x534bcf
mov al, byte [ecx + 0x581d98]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 9
jl 0x534ae9
cmp ecx, esi
jge 0x534bcf
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x534b0a
jmp 0x534bcf
mov edx, dword [ebp - 0x88]
mov esi, eax
xor ecx, ecx
cmp ecx, esi
jge 0x534bcf
mov al, byte [ecx + 0x581da4]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 8
jl 0x534b20
cmp ecx, esi
jge 0x534bcf
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x534b41
jmp 0x534bcf
mov edx, dword [ebp - 0x88]
mov esi, eax
xor ecx, ecx
cmp ecx, esi
jge 0x534bcf
mov al, byte [ecx + 0x581db0]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 9
jl 0x534b57
cmp ecx, esi
jge 0x534bcf
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x534b70
jmp 0x534bcf
mov edx, dword [ebp - 0x88]
mov esi, eax
xor ecx, ecx
cmp ecx, esi
jge 0x534bcf
mov al, byte [ecx + 0x581dbc]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 7
jl 0x534b83
cmp ecx, esi
jge 0x534bcf
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x534b9c
jmp 0x534bcf
mov edx, dword [ebp - 0x88]
mov esi, eax
xor ecx, ecx
cmp ecx, esi
jge 0x534bcf
mov al, byte [ecx + 0x581dc4]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 7
jl 0x534baf
cmp ecx, esi
jge 0x534bcf
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x534bc8
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x534cec
mov edx, dword [ebp - 4]
test edx, edx
je 0x534cc5
mov ecx, dword [edx + 0x128]
test cl, 1
jne 0x534c24
mov ecx, dword [ebp - 0x80]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x534cec
mov dl, byte [eax + 0x581dcc]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 7
jl 0x534bf7
cmp eax, esi
jge 0x534cec
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x534c18
jmp 0x534cec
test ch, 8
je 0x534c5d
mov ecx, dword [ebp - 0x80]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x534cec
mov dl, byte [eax + 0x581dd4]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 3
jl 0x534c30
cmp eax, esi
jge 0x534cec
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x534c51
jmp 0x534cec
test dword [edx + 0x12c], 0x8000000
je 0x534c9c
test ch, 0x10
je 0x534c9c
test ch, 1
je 0x534c9c
mov ecx, dword [ebp - 0x80]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x534cec
mov dl, byte [eax + 0x581dd8]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 3
jl 0x534c7a
cmp eax, esi
jge 0x534cec
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x534c93
jmp 0x534cec
mov ecx, dword [ebp - 0x80]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x534cec
mov dl, byte [eax + 0x581ddc]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 2
jl 0x534ca3
cmp eax, esi
jge 0x534cec
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x534cbc
jmp 0x534cec
mov ecx, dword [ebp - 0x80]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x534cec
mov dl, byte [eax + 0x581de0]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 7
jl 0x534ccc
cmp eax, esi
jge 0x534cec
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x534ce5
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x534e11
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x534dea
mov edx, dword [ecx + 0x128]
test dh, 1
jne 0x534dc1
mov ecx, dword [ecx + 0x12c]
test ecx, 0x40000000
jne 0x534dc1
test dh, 2
jne 0x534d98
test ecx, 0x20000000
jne 0x534d98
test ecx, 0x8000000
mov ecx, dword [ebp - 0x78]
mov esi, eax
je 0x534d6c
xor eax, eax
cmp eax, esi
jge 0x534e11
mov dl, byte [eax + 0x581df0]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 2
jl 0x534d3f
cmp eax, esi
jge 0x534e11
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x534d60
jmp 0x534e11
xor eax, eax
cmp eax, esi
jge 0x534e11
mov dl, byte [eax + 0x581df4]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 7
jl 0x534d6e
cmp eax, esi
jge 0x534e11
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x534d8f
jmp 0x534e11
mov ecx, dword [ebp - 0x78]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x534e11
mov dl, byte [eax + 0x581dec]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 3
jl 0x534d9f
cmp eax, esi
jge 0x534e11
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x534db8
jmp 0x534e11
mov ecx, dword [ebp - 0x78]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x534e11
mov dl, byte [eax + 0x581de8]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 2
jl 0x534dc8
cmp eax, esi
jge 0x534e11
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x534de1
jmp 0x534e11
mov ecx, dword [ebp - 0x78]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x534e11
mov dl, byte [eax + 0x581dfc]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 7
jl 0x534df1
cmp eax, esi
jge 0x534e11
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x534e0a
mov eax, dword [ebp - 0x6c]
mov bl, 0x40
test eax, eax
je 0x534f1c
mov edx, dword [ebp - 4]
test edx, edx
je 0x534ef5
mov ecx, dword [edx + 0x128]
test cl, 1
jne 0x534e68
mov ecx, dword [ebp - 0x70]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x534f1c
mov dl, byte [eax + 0x581e04]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 9
jl 0x534e3b
cmp eax, esi
jge 0x534f1c
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x534e5c
jmp 0x534f1c
test cl, 2
je 0x534e9e
mov ecx, dword [ebp - 0x70]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x534f1c
mov dl, byte [eax + 0x581e10]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 4
jl 0x534e74
cmp eax, esi
jge 0x534f1c
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x534e95
jmp 0x534f1c
mov cl, byte [edx + 0x12c]
mov esi, eax
test bl, cl
mov ecx, dword [ebp - 0x70]
je 0x534ed1
xor eax, eax
cmp eax, esi
jge 0x534f1c
mov dl, byte [eax + 0x581e18]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 5
jl 0x534eaf
cmp eax, esi
jge 0x534f1c
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x534ec8
jmp 0x534f1c
xor eax, eax
cmp eax, esi
jge 0x534f1c
mov dl, byte [eax + 0x581e20]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 9
jl 0x534ed3
cmp eax, esi
jge 0x534f1c
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x534eec
jmp 0x534f1c
mov ecx, dword [ebp - 0x70]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x534f1c
mov dl, byte [eax + 0x581e2c]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 9
jl 0x534efc
cmp eax, esi
jge 0x534f1c
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x534f15
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x535088
mov edx, dword [ebp - 4]
test edx, edx
je 0x535061
mov ecx, dword [edx + 0x128]
test cl, 1
jne 0x534f71
mov ecx, dword [ebp - 0x68]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x535088
mov dl, byte [eax + 0x581e38]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 9
jl 0x534f44
cmp eax, esi
jge 0x535088
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x534f65
jmp 0x535088
test ch, 1
jne 0x534faa
mov ecx, dword [ebp - 0x68]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x535088
mov dl, byte [eax + 0x581e44]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 9
jl 0x534f7d
cmp eax, esi
jge 0x535088
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x534f9e
jmp 0x535088
mov cl, byte [edx + 0x121]
test cl, cl
je 0x535038
cmp cl, 0x22
je 0x53500f
cmp cl, 0x27
je 0x534fde
push edx
push 0xc0000030
push 0xc0000030
push 1
call fcn.00546a20
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x68]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x535088
mov dl, byte [eax + 0x581e58]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 0xa
jl 0x534fe5
cmp eax, esi
jge 0x535088
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x535006
jmp 0x535088
mov ecx, dword [ebp - 0x68]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x535088
mov dl, byte [eax + 0x581e64]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 5
jl 0x535016
cmp eax, esi
jge 0x535088
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x53502f
jmp 0x535088
mov ecx, dword [ebp - 0x68]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x535088
mov dl, byte [eax + 0x581e50]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 4
jl 0x53503f
cmp eax, esi
jge 0x535088
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x535058
jmp 0x535088
mov ecx, dword [ebp - 0x68]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x535088
mov dl, byte [eax + 0x581e6c]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 9
jl 0x535068
cmp eax, esi
jge 0x535088
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x535081
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x535157
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x535130
test byte [ecx + 0x128], 1
jne 0x5350d8
mov ecx, dword [ebp - 0x60]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x535157
mov dl, byte [eax + 0x581e78]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 3
jl 0x5350ae
cmp eax, esi
jge 0x535157
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x5350cf
jmp 0x535157
mov dl, byte [ecx + 0x12c]
mov ecx, dword [ebp - 0x60]
test dl, 0x80
mov esi, eax
jne 0x53510c
xor eax, eax
cmp eax, esi
jge 0x535157
mov dl, byte [eax + 0x581e7c]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 2
jl 0x5350ea
cmp eax, esi
jge 0x535157
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x535103
jmp 0x535157
xor eax, eax
cmp eax, esi
jge 0x535157
mov dl, byte [eax + 0x581e80]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 3
jl 0x53510e
cmp eax, esi
jge 0x535157
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x535127
jmp 0x535157
mov ecx, dword [ebp - 0x60]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x535157
mov dl, byte [eax + 0x581e84]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 3
jl 0x535137
cmp eax, esi
jge 0x535157
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x535150
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x535342
mov edx, dword [ebp - 4]
test edx, edx
je 0x53531b
mov ecx, dword [edx + 0x128]
test cl, 1
jne 0x5351ac
mov ecx, dword [ebp - 0x58]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x535342
mov dl, byte [eax + 0x581e88]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 9
jl 0x53517f
cmp eax, esi
jge 0x535342
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x5351a0
jmp 0x535342
test ch, 8
jne 0x53522a
test ch, 0x10
je 0x5351f6
test dword [edx + 0x130], 0x100000
je 0x5351f6
mov ecx, dword [ebp - 0x58]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x535342
mov dl, byte [eax + 0x581e94]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 6
jl 0x5351c9
cmp eax, esi
jge 0x535342
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x5351ea
jmp 0x535342
mov ecx, dword [ebp - 0x58]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x535342
mov dl, byte [eax + 0x581e9c]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 9
jl 0x5351fd
cmp eax, esi
jge 0x535342
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x53521e
jmp 0x535342
test dword [edx + 0x12c], 0x80000
je 0x53526a
mov ecx, dword [ebp - 0x58]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x535342
mov dl, byte [eax + 0x581ea8]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 4
jl 0x53523d
cmp eax, esi
jge 0x535342
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x53525e
jmp 0x535342
mov ecx, dword [edx + 0x90]
mov edx, dword [edx + 0x94]
cmp ecx, 0x80000000
jne 0x535283
cmp edx, 0xffffffff
je 0x5352f2
test edx, edx
jl 0x5352c9
jg 0x53528d
test ecx, ecx
jb 0x5352c9
test edx, edx
jg 0x5352c9
jl 0x535298
cmp ecx, 1
ja 0x5352c9
mov ecx, dword [ebp - 0x58]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x535342
mov dl, byte [eax + 0x581eb8]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 6
jl 0x53529f
cmp eax, esi
jge 0x535342
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x5352c0
jmp 0x535342
mov ecx, dword [ebp - 0x58]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x535342
mov dl, byte [eax + 0x581ec0]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 9
jl 0x5352d0
cmp eax, esi
jge 0x535342
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x5352e9
jmp 0x535342
mov ecx, dword [ebp - 0x58]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x535342
mov dl, byte [eax + 0x581eb0]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 6
jl 0x5352f9
cmp eax, esi
jge 0x535342
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x535312
jmp 0x535342
mov ecx, dword [ebp - 0x58]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x535342
mov dl, byte [eax + 0x581ecc]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 9
jl 0x535322
cmp eax, esi
jge 0x535342
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x53533b
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x535410
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x5353e9
test byte [ecx + 0x128], 1
jne 0x535392
mov ecx, dword [ebp - 0x50]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x535410
mov dl, byte [eax + 0x581ed8]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 7
jl 0x535368
cmp eax, esi
jge 0x535410
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x535389
jmp 0x535410
mov dl, byte [ecx + 0x12c]
mov ecx, dword [ebp - 0x50]
test bl, dl
mov esi, eax
jne 0x5353c5
xor eax, eax
cmp eax, esi
jge 0x535410
mov dl, byte [eax + 0x581ee0]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 3
jl 0x5353a3
cmp eax, esi
jge 0x535410
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x5353bc
jmp 0x535410
xor eax, eax
cmp eax, esi
jge 0x535410
mov dl, byte [eax + 0x581ee4]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 2
jl 0x5353c7
cmp eax, esi
jge 0x535410
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x5353e0
jmp 0x535410
mov ecx, dword [ebp - 0x50]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x535410
mov dl, byte [eax + 0x581ee8]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 7
jl 0x5353f0
cmp eax, esi
jge 0x535410
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x535409
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x5354eb
mov edx, dword [ebp - 4]
test edx, edx
je 0x5354c4
mov ecx, dword [edx + 0x128]
test cl, 1
jne 0x535465
mov ecx, dword [ebp - 0x48]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x5354eb
mov dl, byte [eax + 0x581ef0]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 7
jl 0x535438
cmp eax, esi
jge 0x5354eb
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x535459
jmp 0x5354eb
test byte [edx + 0x12c], bl
jne 0x53549b
test cl, 2
jne 0x53549b
mov ecx, dword [ebp - 0x48]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x5354eb
mov dl, byte [eax + 0x581ef8]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 3
jl 0x535479
cmp eax, esi
jge 0x5354eb
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x535492
jmp 0x5354eb
mov ecx, dword [ebp - 0x48]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x5354eb
mov dl, byte [eax + 0x581efc]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 2
jl 0x5354a2
cmp eax, esi
jge 0x5354eb
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x5354bb
jmp 0x5354eb
mov ecx, dword [ebp - 0x48]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x5354eb
mov dl, byte [eax + 0x581f00]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 7
jl 0x5354cb
cmp eax, esi
jge 0x5354eb
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x5354e4
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x5355b6
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x53558f
mov ecx, dword [ecx + 0x128]
test cl, 1
jne 0x53553d
mov ecx, dword [ebp - 0x40]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x5355b6
mov dl, byte [eax + 0x581f08]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 7
jl 0x535513
cmp eax, esi
jge 0x5355b6
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x535534
jmp 0x5355b6
test cl, 2
mov ecx, dword [ebp - 0x40]
mov esi, eax
jne 0x53556b
xor eax, eax
cmp eax, esi
jge 0x5355b6
mov dl, byte [eax + 0x581f10]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 3
jl 0x535549
cmp eax, esi
jge 0x5355b6
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x535562
jmp 0x5355b6
xor eax, eax
cmp eax, esi
jge 0x5355b6
mov dl, byte [eax + 0x581f14]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 2
jl 0x53556d
cmp eax, esi
jge 0x5355b6
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x535586
jmp 0x5355b6
mov ecx, dword [ebp - 0x40]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x5355b6
mov dl, byte [eax + 0x581f18]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 7
jl 0x535596
cmp eax, esi
jge 0x5355b6
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x5355af
mov ecx, dword [ebp - 0xec]
mov edi, 0x40000
test ecx, ecx
je 0x535684
mov eax, dword [ebp - 4]
test eax, eax
je 0x5355eb
test dword [ebp + 0x10], edi
je 0x5355e3
test byte [eax + 0x128], 1
jne 0x5355e3
or eax, 0xffffffff
jmp 0x5355f4
mov eax, dword [eax + 0xbc]
jmp 0x5355f4
mov eax, dword [ebp + 0x10]
and eax, edi
neg eax
sbb eax, eax
cmp ecx, 5
jl 0x53566b
cmp ecx, 0x11
jg 0x53566b
add ecx, 0xfffffffb
cmp ecx, 0xc
ja case.default.0x535606
jmp dword [ecx*4 + 0x535de0]
mov ecx, dword [ebp - 0xf0]
mov byte [ecx], al
jmp 0x535684
mov edx, dword [ebp - 0xf0]
mov word [edx], ax
jmp 0x535684
mov ecx, dword [ebp - 0xf0]
mov dword [ecx], eax
jmp 0x535684
mov edx, dword [ebp - 0xf0]
mov byte [edx], al
jmp 0x535684
mov ecx, dword [ebp - 0xf0]
mov word [ecx], ax
jmp 0x535684
mov edx, dword [ebp - 0xf0]
mov dword [edx], eax
jmp 0x535684
mov ecx, dword [ebp - 0xf0]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0xf0]
mov dword [eax + 4], edx
jmp 0x535684
pop edi
pop esi
mov eax, 0xc0000030
pop ebx
mov esp, ebp
pop ebp
ret
push 0x619
push str.E:_forrtl_build_for_inquire.c
push 2
push 0xc0000008
call fcn.005469f0
add esp, 0x10
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x535885
mov edx, dword [ebp - 4]
test edx, edx
je 0x535830
mov ecx, dword [edx + 0x128]
test cl, 1
je 0x5357d1
test ch, 8
je 0x5356e8
mov edx, dword [ebp - 0xd8]
mov esi, eax
xor ecx, ecx
cmp ecx, esi
jge 0x535885
mov al, byte [ecx + 0x581f40]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 0xa
jl 0x5356bb
cmp ecx, esi
jge 0x535885
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x5356dc
jmp 0x535885
test ch, 0x10
je 0x535724
mov edx, dword [ebp - 0xd8]
mov esi, eax
xor ecx, ecx
cmp ecx, esi
jge 0x535885
mov al, byte [ecx + 0x581f4c]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 6
jl 0x5356f7
cmp ecx, esi
jge 0x535885
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x535718
jmp 0x535885
test ch, 0x20
je 0x535760
mov edx, dword [ebp - 0xd8]
mov esi, eax
xor ecx, ecx
cmp ecx, esi
jge 0x535885
mov al, byte [ecx + 0x581f54]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 5
jl 0x535733
cmp ecx, esi
jge 0x535885
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x535754
jmp 0x535885
mov ecx, dword [edx + 0x12c]
mov edx, dword [ebp - 0xd8]
test ch, 1
mov esi, eax
je 0x5357a2
xor ecx, ecx
cmp ecx, esi
jge 0x535885
mov al, byte [ecx + 0x581f5c]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 9
jl 0x535775
cmp ecx, esi
jge 0x535885
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x535796
jmp 0x535885
xor ecx, ecx
cmp ecx, esi
jge 0x535885
mov al, byte [ecx + 0x581f68]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 7
jl 0x5357a4
cmp ecx, esi
jge 0x535885
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x5357c5
jmp 0x535885
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0xd8]
test edi, ecx
mov esi, eax
je 0x53580c
xor ecx, ecx
cmp ecx, esi
jge 0x535885
mov al, byte [ecx + 0x581f70]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 9
jl 0x5357e2
cmp ecx, esi
jge 0x535885
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x535803
jmp 0x535885
xor ecx, ecx
cmp ecx, esi
jge 0x535885
mov al, byte [ecx + 0x581f7c]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 7
jl 0x53580e
cmp ecx, esi
jge 0x535885
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x535827
jmp 0x535885
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0xd8]
test edi, ecx
mov esi, eax
je 0x535863
xor ecx, ecx
cmp ecx, esi
jge 0x535885
mov al, byte [ecx + 0x581f84]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 9
jl 0x535841
cmp ecx, esi
jge 0x535885
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x53585a
jmp 0x535885
xor ecx, ecx
cmp ecx, esi
jge 0x535885
mov al, byte [ecx + 0x581f90]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 7
jl 0x535865
cmp ecx, esi
jge 0x535885
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x53587e
mov eax, dword [ebp - 0xcc]
test eax, eax
je 0x5359c8
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x535973
mov ecx, dword [ecx + 0x128]
test ch, 1
je 0x535914
test ch, 0x40
mov ecx, dword [ebp - 0xd0]
mov esi, eax
je 0x5358e5
xor eax, eax
cmp eax, esi
jge 0x5359c8
mov dl, byte [eax + 0x581f98]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 4
jl 0x5358b8
cmp eax, esi
jge 0x5359c8
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x5358d9
jmp 0x5359c8
xor eax, eax
cmp eax, esi
jge 0x5359c8
mov dl, byte [eax + 0x581fa0]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 4
jl 0x5358e7
cmp eax, esi
jge 0x5359c8
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x535908
jmp 0x5359c8
mov ecx, dword [ebp + 0x10]
mov esi, eax
test edi, ecx
mov ecx, dword [ebp - 0xd0]
je 0x53594f
xor eax, eax
cmp eax, esi
jge 0x5359c8
mov dl, byte [eax + 0x581fa8]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 9
jl 0x535925
cmp eax, esi
jge 0x5359c8
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x535946
jmp 0x5359c8
xor eax, eax
cmp eax, esi
jge 0x5359c8
mov dl, byte [eax + 0x581fb4]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 7
jl 0x535951
cmp eax, esi
jge 0x5359c8
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x53596a
jmp 0x5359c8
mov ecx, dword [ebp + 0x10]
mov esi, eax
test edi, ecx
mov ecx, dword [ebp - 0xd0]
je 0x5359a6
xor eax, eax
cmp eax, esi
jge 0x5359c8
mov dl, byte [eax + 0x581fbc]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 9
jl 0x535984
cmp eax, esi
jge 0x5359c8
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x53599d
jmp 0x5359c8
xor eax, eax
cmp eax, esi
jge 0x5359c8
mov dl, byte [eax + 0x581fc8]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 7
jl 0x5359a8
cmp eax, esi
jge 0x5359c8
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x5359c1
mov eax, dword [ebp - 0xac]
test eax, eax
je 0x535bd4
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x535b7f
mov edx, dword [ecx + 0x128]
test dl, 1
je 0x535b20
test dh, 1
je 0x535a2c
mov edx, dword [ebp - 0xb0]
mov esi, eax
xor ecx, ecx
cmp ecx, esi
jge 0x535bd4
mov al, byte [ecx + 0x581fd0]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 9
jl 0x5359ff
cmp ecx, esi
jge 0x535bd4
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x535a20
jmp 0x535bd4
mov ecx, dword [ecx + 0x12c]
test ecx, 0x40000000
je 0x535a71
mov edx, dword [ebp - 0xb0]
mov esi, eax
xor ecx, ecx
cmp ecx, esi
jge 0x535bd4
mov al, byte [ecx + 0x581fdc]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 6
jl 0x535a44
cmp ecx, esi
jge 0x535bd4
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x535a65
jmp 0x535bd4
test dh, 2
jne 0x535ae9
test ecx, 0x20000000
jne 0x535ae9
mov edx, dword [ebp - 0xb0]
mov esi, eax
test ch, 1
je 0x535aba
xor ecx, ecx
cmp ecx, esi
jge 0x535bd4
mov al, byte [ecx + 0x581ff0]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 9
jl 0x535a8d
cmp ecx, esi
jge 0x535bd4
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x535aae
jmp 0x535bd4
xor ecx, ecx
cmp ecx, esi
jge 0x535bd4
mov al, byte [ecx + 0x581ffc]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 7
jl 0x535abc
cmp ecx, esi
jge 0x535bd4
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x535add
jmp 0x535bd4
mov edx, dword [ebp - 0xb0]
mov esi, eax
xor ecx, ecx
cmp ecx, esi
jge 0x535bd4
mov al, byte [ecx + 0x581fe4]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 0xb
jl 0x535af3
cmp ecx, esi
jge 0x535bd4
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x535b14
jmp 0x535bd4
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0xb0]
test edi, ecx
mov esi, eax
je 0x535b5b
xor ecx, ecx
cmp ecx, esi
jge 0x535bd4
mov al, byte [ecx + 0x582004]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 9
jl 0x535b31
cmp ecx, esi
jge 0x535bd4
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x535b52
jmp 0x535bd4
xor ecx, ecx
cmp ecx, esi
jge 0x535bd4
mov al, byte [ecx + 0x582010]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 7
jl 0x535b5d
cmp ecx, esi
jge 0x535bd4
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x535b76
jmp 0x535bd4
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0xb0]
test edi, ecx
mov esi, eax
je 0x535bb2
xor ecx, ecx
cmp ecx, esi
jge 0x535bd4
mov al, byte [ecx + str.UNDEFINED]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 9
jl 0x535b90
cmp ecx, esi
jge 0x535bd4
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x535ba9
jmp 0x535bd4
xor ecx, ecx
cmp ecx, esi
jge 0x535bd4
mov al, byte [ecx + 0x582024]
mov byte [edx], al
inc edx
inc ecx
cmp ecx, 7
jl 0x535bb4
cmp ecx, esi
jge 0x535bd4
sub esi, ecx
mov byte [edx], 0x20
inc edx
dec esi
jne 0x535bcd
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x535ca9
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x535c82
test byte [ecx + 0x128], 1
jne 0x535c27
mov ecx, dword [ebp - 0x10]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x535ca9
mov dl, byte [eax + 0x58202c]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 7
jl 0x535bfa
cmp eax, esi
jge 0x535ca9
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x535c1b
jmp 0x535ca9
mov edx, dword [ecx + 0x130]
mov ecx, dword [ebp - 0x10]
test edx, 0x10000
mov esi, eax
jne 0x535c5e
xor eax, eax
cmp eax, esi
jge 0x535ca9
mov dl, byte [eax + 0x582034]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 2
jl 0x535c3c
cmp eax, esi
jge 0x535ca9
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x535c55
jmp 0x535ca9
xor eax, eax
cmp eax, esi
jge 0x535ca9
mov dl, byte [eax + 0x582038]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 3
jl 0x535c60
cmp eax, esi
jge 0x535ca9
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x535c79
jmp 0x535ca9
mov ecx, dword [ebp - 0x10]
mov esi, eax
xor eax, eax
cmp eax, esi
jge 0x535ca9
mov dl, byte [eax + 0x58203c]
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 2
jl 0x535c89
cmp eax, esi
jge 0x535ca9
sub esi, eax
mov byte [ecx], 0x20
inc ecx
dec esi
jne 0x535ca2
mov eax, dword [ebp - 4]
test eax, eax
je 0x535d2c
mov esi, dword [eax + 0x128]
mov edx, eax
add eax, 0x128
and esi, 0xfff7ffff
mov dword [eax], esi
mov ecx, dword [eax]
and ecx, 0xffefffff
mov dword [eax], ecx
and ecx, 0xffdfffff
mov dword [eax], ecx
and ecx, 0xfdffffff
mov dword [eax], ecx
and ecx, 0xfffeffff
mov dword [eax], ecx
mov ebx, dword [edx + 0x12c]
lea eax, [edx + 0x12c]
and ebx, 0xffffffdf
mov ecx, ebx
and ch, 0xfd
mov dword [eax], ebx
mov dword [eax], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xbc]
push ecx
call fcn.0054a4b0
add esp, 4
test eax, eax
je 0x535d2c
mov edx, dword [ebp - 4]
push edx
push eax
push eax
push 0
call fcn.00546a20
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret