Function at 0x42123c
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, edx
push esi
sub esp, 0x30
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 8]
test eax, eax
mov dword [ebp - 0x10], eax
je 0x421427
dec dword [ebp - 0x10]
mov eax, edx
and eax, 3
dec eax
je 0x4213d6
mov eax, edi
and eax, 0x3f
cmp eax, 0x27
je 0x421793
mov eax, edi
and eax, 3
dec eax
je 0x421648
mov eax, edi
and eax, 3
dec eax
je 0x4216b4
mov eax, edi
and eax, 7
cmp eax, 3
je 0x421bbc
mov eax, edi
and eax, 3
dec eax
je 0x421730
mov esi, edi
and esi, 3
cmp esi, 2
je 0x42180d
cmp esi, 1
je 0x421803
mov eax, edi
and eax, 3
dec eax
je 0x421896
mov eax, edi
and eax, 3
dec eax
je 0x421453
mov eax, edi
and eax, 3
dec eax
je 0x4218fc
mov eax, edi
and eax, 3
dec eax
je 0x421aa7
mov eax, edi
and eax, 3
dec eax
je 0x421c56
mov eax, edi
and eax, 3
dec eax
je 0x421cc6
mov eax, edi
and eax, 3
dec eax
je 0x421d90
mov eax, edi
and eax, 3
dec eax
je 0x421df4
mov eax, edi
and eax, 3
dec eax
je 0x421e67
mov eax, edi
and eax, 0x37
cmp eax, 7
je 0x421fe6
cmp edi, 0x7fffffbf
je 0x42200a
test edi, edi
je 0x42208c
cmp edi, 0x6eeeeebf
je 0x42204b
cmp edi, 0x766f66bf
je 0x422066
cmp edi, 0x707f07bf
je 0x422079
cmp edi, 0x686e86bf
je 0x422160
mov eax, edi
and eax, 3
je 0x421f30
dec eax
je 0x4220b1
mov eax, edi
and eax, 3
dec eax
je 0x422173
mov eax, edi
and eax, 3
dec eax
je 0x42225d
and edi, 0xfffffffc
mov eax, str._huh___address0x_lx_
mov dword [esp + 8], edi
jmp 0x4213c0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call fcn.00419b20
add esp, 0x30
pop esi
pop edi
pop ebp
ret
movzx eax, byte [edx + 3]
sub al, 0x11
cmp al, 7
ja 0x421266
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x22
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [0x4f99d0]
mov edx, edi
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.004210ac
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x22
mov dword [esp + 4], eax
call fcn.004f07b8
lea esi, [esi]
add esp, 0x30
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0xc]
mov edi, 1
mov dword [esp + 4], edi
mov dword [esp], 0x50e60d
mov dword [esp + 0xc], eax
mov eax, 5
mov dword [esp + 8], eax
call sub.msvcrt.dll_fwrite
add esp, 0x30
pop esi
pop edi
pop ebp
ret
cmp byte [edi + 3], 0x23
jne 0x4212d5
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x50e613
mov dword [esp + 0xc], eax
mov eax, 2
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x10]
mov edx, 0x4fe241
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, 0x502801
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + 7]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, 0x502761
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + 0xb]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, 0x502781
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + 0xf]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, 0x5027a1
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + 0x13]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, 0x5027c1
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + 0x17]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, 0x5027e1
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov edx, dword [edi + 0x1b]
jmp 0x421bb4
cmp byte [edi + 3], 0x20
jne 0x421280
mov eax, dword [edi + 0x1b]
cmp eax, 0x4fa001
je 0x422332
cmp dword [0x4f9c24], eax
je 0x422287
mov edx, dword [eax + 0x27]
mov eax, dword [0x4f99d0]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.004210ac
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x50e616
mov dword [esp + 0xc], eax
mov eax, 2
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
mov edx, dword [edi + 0x17]
mov eax, dword [0x4f99d0]
mov dword [ebp + 8], eax
jmp 0x4217f5
cmp byte [edi + 3], 9
jne 0x42128c
mov dword [esp], edi
call fcn.0042a170
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xc]
xor esi, esi
mov dword [esp], 0x50e613
mov dword [esp + 0xc], eax
mov eax, 2
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
jmp 0x421707
mov eax, esi
mov edx, dword [edi + eax*4 + 7]
inc esi
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
cmp esi, dword [ebp - 0x14]
jae 0x421c3e
test esi, esi
je 0x4216f2
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
jmp 0x4216f2
mov edx, dword [edi + 3]
mov al, dl
dec al
cmp al, 0x18
ja 0x4212a6
movsx eax, dl
mov edx, str._array__d
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call fcn.00419b20
mov eax, dword [edi + 3]
cmp al, 0x19
je 0x42224c
mov dword [esp], edi
call fcn.0042a170
mov dword [esp + 8], eax
mov eax, str._len_d
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call fcn.00419b20
mov dword [esp + 8], edi
mov eax, str._0x_lx_
jmp 0x4213c0
mov esi, edi
shr esi, 7
mov dword [esp], esi
call fcn.0044d7b0
mov dword [esp + 8], esi
mov esi, str.__c_
mov edi, eax
mov dword [esp + 4], esi
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call fcn.00419b20
cmp edi, 0x4fa001
je 0x42144c
mov eax, dword [ebp - 0xc]
mov edx, 1
mov ecx, 3
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp], 0x50e639
call sub.msvcrt.dll_fwrite
mov eax, dword [0x4f99d0]
mov edx, edi
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0xc]
add esp, 0x30
pop esi
pop edi
pop ebp
jmp fcn.004210ac
cmp byte [edi + 3], 0xfd
jne 0x4212bd
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x50e63d
mov dword [esp + 0xc], eax
mov eax, 2
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
cmp esi, 2
je 0x42201d
dec esi
je 0x421ec0
mov eax, dword [0x4f99d0]
mov edx, dword [0x4f9ee0]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.004210ac
mov edi, dword [edi + 7]
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, edi
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x3e
mov dword [esp + 4], eax
call fcn.004f07b8
jmp 0x421420
cmp byte [edi + 3], 0x29
jne 0x4212c9
mov eax, dword [ebp - 0xc]
mov ecx, 2
mov edx, 1
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp], 0x50e63d
call sub.msvcrt.dll_fwrite
mov eax, dword [0x4f99d0]
mov edx, dword [0x4f9ef0]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.004210ac
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov edx, dword [edi + 7]
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
jmp 0x421876
cmp byte [edi + 3], 0x24
jne 0x4212e1
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x50e613
mov dword [esp + 0xc], eax
mov eax, 2
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x10]
mov edx, 0x4fe321
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, 0x502801
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + 7]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, 0x502781
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + 0xb]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, 0x5027a1
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + 0xf]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, 0x5027c1
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + 0x13]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, 0x5027e1
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov edx, dword [edi + 0x17]
jmp 0x421bb4
cmp byte [edi + 3], 0
jne 0x4212ed
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x50e613
mov esi, str._size_u_maxcount_u_mincount_u_n
mov dword [esp + 0xc], eax
mov eax, 2
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x10]
mov edx, 0x504ae1
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [edi + 0x2b]
and eax, 0x7fffffff
shr eax, 7
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0xb]
and eax, 0x7fffffff
shr eax, 7
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x37]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call fcn.00419b20
mov eax, dword [ebp - 0xc]
mov ecx, 7
mov edx, 1
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp], str.__test
call sub.msvcrt.dll_fwrite
mov eax, dword [edi + 3]
shr eax, 8
test al, 4
jne 0x422300
and eax, 3
cmp eax, 1
je 0x422440
jb 0x422357
cmp eax, 2
je 0x422450
cmp eax, 3
jne 0x42299e
mov eax, dword [ebp - 0x10]
mov edx, 0x4fe8e1
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], str._n__KV
mov dword [esp + 0xc], eax
mov eax, 6
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
mov edx, dword [edi + 0xf]
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
jmp 0x421c36
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x28
mov dword [esp + 4], eax
jmp 0x421bde
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov edx, dword [edi + 1]
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov edi, dword [edi - 3]
mov eax, edi
and eax, 7
cmp eax, 3
je 0x421bd0
cmp edi, 0x4fa001
je 0x421c3e
mov eax, dword [ebp - 0xc]
mov ecx, 1
mov esi, 3
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp + 0xc], eax
mov dword [esp], 0x50e671
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x10]
mov edx, edi
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x29
mov dword [esp + 4], eax
call fcn.004f07b8
jmp 0x421420
cmp byte [edi + 3], 0x21
jne 0x4212f9
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x50e63d
mov dword [esp + 0xc], eax
mov eax, 2
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [0x4f99d0]
mov edx, dword [0x4f9e68]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.004210ac
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [0x4f99d0]
mov edx, dword [edi + 0x1b]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.004210ac
jmp 0x42187e
cmp byte [edi + 3], 0x32
jne 0x421305
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x50e63d
mov dword [esp + 0xc], eax
mov eax, 2
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [0x4f99d0]
mov edx, dword [0x4f9e94]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.004210ac
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + 0xb]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov edx, dword [edi + 7]
mov eax, edx
and eax, 3
dec eax
jne 0x421ea9
cmp byte [edx + 3], 0x32
jne 0x421ea9
mov eax, dword [ebp - 0xc]
mov ecx, 1
mov esi, 0xa
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp + 0xc], eax
mov dword [esp], str._next_wp_
call sub.msvcrt.dll_fwrite
mov dword [esp + 8], edi
jmp 0x421789
cmp byte [edi + 3], 0x31
jne 0x421311
mov eax, dword [ebp - 0xc]
mov edx, 2
mov dword [esp + 8], edx
mov dword [esp], 0x50e63d
mov dword [esp + 0xc], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [edi + 3]
shr eax, 8
test al, al
js 0x422400
mov eax, dword [0x4f99d0]
mov edx, dword [0x4f9e90]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.004210ac
mov eax, dword [edi + 7]
mov dword [esp + 8], eax
mov eax, str._0x_lx_
jmp 0x4213c0
cmp byte [edi + 3], 0xfe
jne 0x42131d
mov eax, dword [ebp - 0xc]
xor esi, esi
mov dword [esp], str._structure
mov dword [esp + 0xc], eax
mov eax, 0xb
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
cmp word [edi + 5], 0
je 0x421785
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call fcn.004f07b8
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + esi*4 + 7]
inc esi
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
movzx eax, word [edi + 5]
cmp eax, esi
ja 0x421e30
mov dword [esp + 8], edi
jmp 0x421789
mov eax, dword [edi + 3]
cmp al, 0xff
je 0x421e81
cmp al, 0xfd
jne 0x421329
shr eax, 8
test al, al
jns 0x421329
mov eax, dword [ebp - 0xc]
mov dword [esp], str._instance
mov dword [esp + 0xc], eax
mov eax, 0xb
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
mov edx, dword [edi + 7]
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov dword [esp + 8], edi
jmp 0x421789
mov edx, dword [edi + 3]
cmp dl, 0xfd
jne 0x421842
mov ecx, dword [edi + 0xb]
mov eax, ecx
and eax, 3
dec eax
jne 0x421842
cmp byte [ecx + 3], 0xd
jne 0x421842
shr edx, 8
test dl, dl
jns 0x422666
mov eax, dword [ebp - 0xc]
mov esi, 1
mov dword [esp + 4], esi
mov dword [esp], str.FUNCALLABLE_INSTANCE
mov dword [esp + 0xc], eax
mov eax, 0x14
mov dword [esp + 8], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [edi + 3]
shr eax, 8
test al, al
jns 0x42265c
mov edx, dword [edi + 0x13]
mov edi, edx
jmp 0x42185b
mov eax, dword [ebp - 0xc]
mov ecx, 8
mov edx, 1
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp], str._frame
call sub.msvcrt.dll_fwrite
mov eax, edi
and eax, 0xfc000000
cmp eax, 0xac000000
je 0x42241b
ja 0x42229f
cmp eax, 0x94000000
je 0x422573
ja 0x4223b3
cmp eax, 0x88000000
je 0x422637
ja 0x4224d6
cmp eax, 0x80000000
je 0x4226f0
cmp eax, 0x84000000
je 0x4226cb
mov eax, dword [ebp - 0xc]
mov dword [esp], str.UNKNOWN
mov dword [esp + 0xc], eax
mov eax, 0xb
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [0x698fb0]
sub edi, eax
sar edi, 2
mov dword [esp + 8], edi
mov edi, 0x50e6c2
mov dword [esp + 4], edi
jmp 0x4213c4
mov eax, edi
sar eax, 3
and edi, 0x7fffffff
shl eax, 0x1f
sar eax, 7
shr edi, 7
or eax, edi
mov dword [esp + 8], eax
mov eax, 0x50e6c7
jmp 0x4213c0
mov eax, dword [0x4f99d0]
mov dword [ebp + 8], eax
mov edx, dword [0x4f9e4c]
jmp 0x4217f5
cmp edi, 0x4f20c2
jb 0x42205e
cmp edi, 0x4f99a2
jae 0x42205e
mov edx, dword [0x4f9ee8]
mov eax, dword [0x4f99d0]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.004210ac
mov edi, dword [edi + 6]
jmp 0x42185b
mov eax, dword [0x4f99d0]
mov dword [ebp + 8], eax
mov edx, dword [0x4f9e58]
jmp 0x4217f5
mov edx, dword [0x4f9eec]
jmp 0x422033
mov eax, dword [0x4f99d0]
mov dword [ebp + 8], eax
mov edx, dword [0x4f9e54]
jmp 0x4217f5
mov eax, dword [0x4f99d0]
mov dword [ebp + 8], eax
mov edx, dword [0x4f9e60]
jmp 0x4217f5
mov eax, dword [ebp - 0xc]
mov edi, 0xa
mov esi, 1
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp + 0xc], eax
mov dword [esp], str._NULLOBJ_
jmp 0x421447
cmp byte [edi + 3], 0x26
jne 0x42138d
mov esi, 0xe
mov ecx, str._built_in_stream_type_d_flags_d_len_d_xlen_d_slen_ld
mov dword [esp + 0x18], esi
movzx eax, byte [edi + 6]
mov dword [esp + 0x14], eax
movzx eax, byte [edi + 5]
mov dword [esp + 0x10], eax
movzx eax, byte [edi + 8]
mov dword [esp + 0xc], eax
movzx eax, byte [edi + 9]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call fcn.00419b20
movzx eax, byte [edi + 9]
cmp eax, 8
je 0x42284c
cmp eax, 0xc
je 0x42273a
xor esi, esi
cmp byte [edi + 5], 0xe
je 0x421785
mov dword [esp + 8], esi
mov eax, 0x50e713
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call fcn.00419b20
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + esi*4 + 0x3f]
inc esi
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
movzx eax, byte [edi + 5]
sub eax, 0xe
cmp esi, eax
jb 0x42211a
mov dword [esp + 8], edi
jmp 0x421789
mov eax, dword [0x4f99d0]
mov dword [ebp + 8], eax
mov edx, dword [0x4f9e5c]
jmp 0x4217f5
cmp byte [edi + 3], 0x30
jne 0x421399
mov eax, dword [ebp - 0xc]
mov dword [esp], str._encoding_eol
mov esi, 1
mov dword [esp + 0xc], eax
mov eax, 0xf
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + 7]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], str._wce
mov dword [esp + 0xc], eax
mov eax, 5
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + 0xb]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp + 4], esi
mov dword [esp], str._mbe
mov dword [esp + 0xc], eax
mov eax, 5
mov dword [esp + 8], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + 0xf]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov edx, 1
mov ecx, 4
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp], str._cs
call sub.msvcrt.dll_fwrite
mov edx, dword [edi + 0x13]
jmp 0x421ea9
shr eax, 0x10
mov dword [esp + 8], eax
mov eax, str._rank_d
jmp 0x421776
mov eax, edi
and eax, 0xfffffffc
mov dword [esp + 0xc], eax
movsx eax, byte [edi + 3]
mov dword [esp + 8], eax
mov eax, str._varobject_type_d_address0x_lx_
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call fcn.00419b20
jmp 0x42144c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x3a
mov dword [esp + 4], eax
call fcn.004f07b8
jmp 0x4216a4
cmp eax, 0xe0000000
je 0x42254e
ja 0x422367
cmp eax, 0xb8000000
je 0x4225ed
ja 0x42249b
cmp eax, 0xb0000000
je 0x422681
cmp eax, 0xb4000000
jne 0x421fa5
mov eax, dword [ebp - 0xc]
mov ecx, 8
mov edx, 1
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp], str.CALLBACK
jmp 0x421fc5
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + 0x2f]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x2f
mov dword [esp + 4], eax
call fcn.004f07b8
mov edx, dword [edi + 0x33]
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
jmp 0x421b84
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x50e770
mov dword [esp + 0xc], eax
mov eax, 2
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
jmp 0x42169f
mov eax, dword [ebp - 0x10]
mov edx, 0x4fe881
mov dword [esp], eax
jmp 0x421b84
cmp eax, 0xec000000
je 0x4225c8
ja 0x422511
cmp eax, 0xe4000000
je 0x422954
cmp eax, 0xe8000000
jne 0x421fa5
mov eax, dword [ebp - 0xc]
mov esi, 5
mov ecx, 1
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp + 0xc], eax
mov dword [esp], str.ENV1B
jmp 0x421fc5
cmp eax, 0xa0000000
je 0x422612
ja 0x422460
cmp eax, 0x98000000
je 0x422715
cmp eax, 0x9c000000
jne 0x421fa5
mov eax, dword [ebp - 0xc]
mov dword [esp], str.NESTED_ITAGBODY
mov dword [esp + 0xc], eax
mov eax, 0xf
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
jmp 0x421fc5
mov eax, dword [0x4f99d0]
mov edx, dword [0x4f9e8c]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.004210ac
jmp 0x421dcd
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x50e789
mov dword [esp + 0xc], eax
mov eax, 6
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
jmp 0x421fc5
mov eax, dword [ebp - 0x10]
mov edx, 0x4fe8a1
mov dword [esp], eax
jmp 0x421b84
mov eax, dword [ebp - 0x10]
mov edx, 0x4fe8c1
mov dword [esp], eax
jmp 0x421b84
cmp eax, 0xa4000000
je 0x42292f
cmp eax, 0xa8000000
jne 0x421fa5
mov eax, dword [ebp - 0xc]
mov edx, 0xe
mov dword [esp + 8], edx
mov dword [esp], 0x50e790
mov dword [esp + 0xc], eax
mov eax, 1
mov dword [esp + 4], eax
jmp 0x421fc5
cmp eax, 0xbc000000
je 0x4226a6
cmp eax, 0xc0000000
jne 0x421fa5
mov eax, dword [ebp - 0xc]
mov dword [esp], str.DYNBIND
mov dword [esp + 0xc], eax
mov eax, 7
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
jmp 0x421fc5
cmp eax, 0x8c000000
je 0x42290a
cmp eax, 0x90000000
jne 0x421fa5
mov eax, dword [ebp - 0xc]
mov dword [esp], str.IBLOCK
mov dword [esp + 0xc], eax
mov eax, 6
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
jmp 0x421fc5
cmp eax, 0xf4000000
je 0x422979
ja 0x422598
cmp eax, 0xf0000000
jne 0x421fa5
mov eax, dword [ebp - 0xc]
mov dword [esp], str.ENV1D
mov dword [esp + 0xc], eax
mov eax, 5
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
jmp 0x421fc5
mov eax, dword [ebp - 0xc]
mov dword [esp], str.ENV1V
mov dword [esp + 0xc], eax
mov eax, 5
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
jmp 0x421fc5
mov eax, dword [ebp - 0xc]
mov edx, 8
mov dword [esp + 8], edx
mov dword [esp], str.ITAGBODY
mov dword [esp + 0xc], eax
mov eax, 1
mov dword [esp + 4], eax
jmp 0x421fc5
cmp eax, 0xf8000000
jne 0x421fa5
mov eax, dword [ebp - 0xc]
mov esi, 1
mov dword [esp + 4], esi
mov dword [esp], str.ENV5
mov dword [esp + 0xc], eax
mov eax, 4
mov dword [esp + 8], eax
jmp 0x421fc5
mov eax, dword [ebp - 0xc]
mov edx, 5
mov dword [esp + 8], edx
mov dword [esp], str.ENV1G
mov dword [esp + 0xc], eax
mov eax, 1
mov dword [esp + 4], eax
jmp 0x421fc5
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x50e7ce
mov dword [esp + 0xc], eax
mov eax, 3
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
jmp 0x421fc5
mov eax, dword [ebp - 0xc]
mov ecx, 0xd
mov edx, 1
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp], str.TRAPPED_APPLY
jmp 0x421fc5
mov eax, dword [ebp - 0xc]
mov dword [esp], str.CATCH
mov dword [esp + 0xc], eax
mov eax, 5
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
jmp 0x421fc5
mov edx, dword [edi + 7]
mov edi, edx
jmp 0x42185b
mov eax, dword [0x4f99d0]
mov edx, dword [0x4f9ee4]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.004210ac
jmp 0x421f15
mov eax, dword [ebp - 0xc]
mov dword [esp], str.CBLOCK_CTAGBODY
mov dword [esp + 0xc], eax
mov eax, 0xf
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
jmp 0x421fc5
mov eax, dword [ebp - 0xc]
mov dword [esp], 0x50e7f6
mov dword [esp + 0xc], eax
mov eax, 3
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
jmp 0x421fc5
mov eax, dword [ebp - 0xc]
mov dword [esp], str.EVAL
mov dword [esp + 0xc], eax
mov eax, 4
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
jmp 0x421fc5
mov eax, dword [ebp - 0xc]
mov esi, 1
mov dword [esp + 4], esi
mov dword [esp], str.APPLY
mov dword [esp + 0xc], eax
mov eax, 5
mov dword [esp + 8], eax
jmp 0x421fc5
mov eax, dword [ebp - 0xc]
mov esi, 0xd
mov ecx, 1
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp + 0xc], eax
mov dword [esp], str.NESTED_IBLOCK
jmp 0x421fc5
mov eax, dword [ebp - 0xc]
mov ecx, 5
mov edx, 1
mov dword [esp + 8], ecx
mov esi, 1
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp], str._file
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0xc]
mov dword [esp], str._name
mov dword [esp + 0xc], eax
mov eax, 6
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + 0x57]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], str._truename
mov dword [esp + 0xc], eax
mov eax, 0xa
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + 0x5b]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [edi + 0x53]
mov eax, dword [eax + 7]
mov dword [esp + 8], eax
mov eax, str._channel_d
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call fcn.00419b20
mov eax, dword [ebp - 0xc]
mov dword [esp + 4], esi
mov dword [esp], str._eltype
mov dword [esp + 0xc], eax
mov eax, 8
mov dword [esp + 8], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + 0x3f]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov edx, 1
mov ecx, 0xa
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp], str._encoding
call sub.msvcrt.dll_fwrite
mov edx, dword [edi + 0x43]
jmp 0x421ea9
mov eax, dword [ebp - 0xc]
mov edx, 0x12
mov dword [esp], str._pretty_print_help
mov esi, 1
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0xc]
mov dword [esp], str._modus
mov dword [esp + 0xc], eax
mov eax, 7
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + 0x43]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp], str._lpos
mov dword [esp + 0xc], eax
mov eax, 6
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + 0x3b]
mov dword [esp], eax
mov eax, dword [ebp - 0xc]
call fcn.0042123c
mov eax, dword [ebp - 0xc]
mov dword [esp + 4], esi
mov dword [esp], str._strings
mov dword [esp + 0xc], eax
mov eax, 9
mov dword [esp + 8], eax
call sub.msvcrt.dll_fwrite
mov edx, dword [edi + 0x3f]
jmp 0x421ea9
mov eax, dword [ebp - 0xc]
mov esi, 7
mov ecx, 1
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp + 0xc], eax
mov dword [esp], str.HANDLER
jmp 0x421fc5
mov eax, dword [ebp - 0xc]
mov dword [esp], str.TRAPPED_EVAL
mov dword [esp + 0xc], eax
mov eax, 0xc
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
jmp 0x421fc5
mov eax, dword [ebp - 0xc]
mov dword [esp], str.ENV1F
mov dword [esp + 0xc], eax
mov eax, 5
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
jmp 0x421fc5
mov eax, dword [ebp - 0xc]
mov dword [esp], str.ENV2VD
mov dword [esp + 0xc], eax
mov eax, 6
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
jmp 0x421fc5
call fcn.00473504
nop