Function at 0x581568
Capabilities:
Enumerate pe sections

Disassembly:
test dword [0x7eeab0], 0xffffff80
jne 0x581590
test dword [0x7eeab0], 0xffffffff
jne 0x581cd4
call fcn.006a7fbc
jmp fcn.00581568
push edi
push esi
push ebp
push ebx
push ecx
mov eax, 0x30
call fcn.006977b0
mov ecx, dword [esp + 0x30]
mov ebp, ecx
or byte [ebp + 9], 0x10
xor eax, eax
mov dword [ebp + 0x35], eax
mov dword [ebp + 0x39], eax
mov dword [ebp + 0x3d], eax
mov dword [ebp + 0x25], eax
call fcn.0053ed74
mov dword [esp + 0x24], eax
movzx ecx, word [ebp + 0x1f]
call fcn.00599520
push 0
push ebp
mov ecx, eax
call fcn.005a57c8
mov esi, dword [eax + 8]
movzx edx, word [esi + 0xa]
test edx, edx
je 0x5815fe
mov word [ebp + 0x31], dx
lea eax, [edx*8]
mov ecx, dword [eax + edx*4 + 0x701828]
mov edx, 0x6c5270
call fcn.0051addc
test eax, eax
jne 0x581608
movzx eax, word [ebp + 0x1f]
mov word [ebp + 0x31], ax
jmp 0x58160c
movzx eax, word [ebp + 0x31]
lea edx, [eax*8]
mov ecx, dword [edx + eax*4 + 0x701828]
movsx edx, byte [ecx]
cmp edx, 0x24
je 0x58162c
cmp edx, 0x22
je 0x58162c
cmp edx, 0x23
jne 0x581640
push 1
push ebp
push ebp
push eax
lea ecx, [esp + 0x34]
call fcn.0053f830
mov word [ebp + 0x31], ax
jmp 0x581645
cmp edx, 0x40
je 0x58162c
movzx edx, ax
test edx, edx
je 0x58166b
movzx ebx, ax
lea eax, [ebx*8]
mov ecx, dword [eax + ebx*4 + 0x701828]
mov edx, 0x6c5270
call fcn.0051addc
test eax, eax
jne 0x581673
movzx eax, word [ebp + 0x1f]
mov word [ebp + 0x31], ax
movzx eax, word [esi + 0xc]
mov word [ebp + 0x33], ax
mov ecx, dword [0x7e9270]
test ecx, ecx
je 0x581ca7
mov edx, dword [ecx + 4]
test edx, edx
je 0x58169a
movzx edx, word [edx + 0x21]
inc edx
movzx edx, dx
jmp 0x58169f
mov edx, 1
mov word [ebp + 0x21], dx
mov ebx, dword [ecx]
test ebx, ebx
je 0x5816d2
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x3c]
movzx eax, ax
movzx edx, word [ebp + 0x1f]
cmp eax, edx
je 0x581c96
mov ecx, ebx
call fcn.004fa640
mov ebx, eax
test ebx, ebx
jne 0x5816a9
mov ecx, dword [0x7e9270]
push ebp
call fcn.005a55c8
call fcn.0058424c
mov dword [ebp + 0x41], eax
push 0
push 0xc
mov ecx, 0x700968
call fcn.004e5c2c
test eax, eax
je 0x581702
mov dword [eax], 0x6b9578
xor edx, edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
jmp 0x581704
xor eax, eax
mov dword [ebp + 0x45], eax
movzx ecx, word [esi + 4]
call fcn.00541ae8
mov edi, eax
test edi, edi
je 0x581759
movzx ecx, word [edi]
xor eax, eax
push dword [ebp + 0x41]
push eax
push eax
mov edx, ebp
call fcn.00584188
mov ebx, eax
test ebx, ebx
je 0x581752
mov ecx, 0x1e
call fcn.004dc218
test eax, eax
je 0x581747
push 1
push ebx
mov ecx, eax
call fcn.005a2034
jmp 0x581749
xor eax, eax
push eax
mov ecx, dword [ebp + 0x45]
call fcn.004ee1d4
mov edi, dword [edi + 2]
test edi, edi
jne 0x581716
movzx ecx, word [esi + 6]
call fcn.00541ae8
mov edi, eax
test edi, edi
je 0x5817ab
movzx ecx, word [edi]
xor eax, eax
push dword [ebp + 0x41]
push eax
push eax
mov edx, ebp
call fcn.00584188
mov ebx, eax
test ebx, ebx
je 0x5817a4
mov ecx, 0x1e
call fcn.004dc218
test eax, eax
je 0x581799
push 0
push ebx
mov ecx, eax
call fcn.005a2034
jmp 0x58179b
xor eax, eax
push eax
mov ecx, dword [ebp + 0x45]
call fcn.004ee1d4
mov edi, dword [edi + 2]
test edi, edi
jne 0x581768
xor eax, eax
mov word [ebp + 0x23], ax
mov dword [ebp + 0x2d], eax
movzx ecx, word [esi + 8]
mov edx, dword [0x7e942c]
mov eax, dword [edx + ecx*4]
test eax, eax
je 0x581c81
mov edx, 1
mov dword [esp + 0x1c], edx
mov edi, 1
mov ebx, 1
mov dword [esp + 0x20], esi
mov esi, eax
movzx eax, word [esi + 8]
test eax, eax
je 0x58182a
lea edx, [eax*8]
mov ecx, dword [edx + eax*4 + 0x701828]
movsx edx, byte [ecx]
cmp edx, 0x24
je 0x58180a
cmp edx, 0x22
je 0x58180a
cmp edx, 0x23
jne 0x581825
push 1
push ebp
push ebp
push eax
lea ecx, [esp + 0x34]
call fcn.0053f830
movzx edx, ax
test edx, edx
jne 0x58182a
movzx eax, word [esi + 8]
jmp 0x58182a
cmp edx, 0x40
je 0x58180a
movzx edx, ax
test edx, edx
je 0x5818a3
lea ecx, [edx*8]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ecx + edx*4 + 0x701828]
movsx ecx, byte [ecx]
test ecx, ecx
je 0x5818a3
mov ecx, dword [esp + 0x20]
movzx ecx, word [ecx + 2]
test ecx, ecx
jne 0x581a62
inc dword [ebp + 0x2d]
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + edx*4 + 0x701828]
mov edx, 0x6d3b60
call fcn.0051addc
test eax, eax
je 0x581897
inc word [ebp + 0x23]
mov edx, dword [esi + 4]
xor ecx, ecx
cmp edx, 0
mov ebx, dword [esp + 0x1c]
cmove ebx, ecx
mov dword [esp + 0x1c], ebx
mov ebx, 1
cmovne edi, ecx
jmp 0x5818af
mov ebx, 1
mov edi, 1
jmp 0x5818af
test ebx, ebx
je 0x5818af
inc dword [ebp + 0x2d]
mov edi, 1
mov esi, dword [esi]
test esi, esi
jne 0x5817e2
mov esi, dword [esp + 0x20]
mov ebx, dword [ebp + 0x2d]
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x5818da
inc ebx
test edi, edi
jne 0x5818d3
inc ebx
mov dword [ebp + 0x2d], ebx
jmp 0x5818d6
mov dword [ebp + 0x2d], ebx
inc word [ebp + 0x23]
imul ecx, ebx, 0x2e
add ecx, 4
call fcn.004dc218
test eax, eax
je 0x5818f0
mov dword [eax], ebx
add eax, 4
jmp 0x5818f2
xor eax, eax
mov dword [ebp + 0x29], eax
movzx ecx, word [esi + 8]
mov edx, dword [0x7e942c]
mov ebx, dword [edx + ecx*4]
mov dword [esp + 0x18], ebx
test ebx, ebx
je 0x581c75
mov edx, 1
xor ebx, ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x10], edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], ebp
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
jmp 0x58193a
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x29]
imul ebp, ebx, 0x2e
add ebp, eax
movzx esi, word [edi + 8]
test esi, esi
je 0x581a47
lea eax, [esi*8]
mov ecx, dword [eax + esi*4 + 0x701828]
movsx eax, byte [ecx]
cmp eax, 0x24
je 0x58196b
cmp eax, 0x22
je 0x58196b
cmp eax, 0x23
jne 0x58199e
push 1
mov eax, dword [esp + 0x34]
push eax
push eax
push esi
lea ecx, [esp + 0x34]
mov dword [esp + 0x24], edx
call fcn.0053f830
mov edx, dword [esp + 0x14]
movzx ecx, ax
test ecx, ecx
jne 0x581992
movzx esi, word [edi + 8]
jmp 0x581995
movzx esi, ax
test esi, esi
jne 0x5819a3
jmp 0x581a47
cmp eax, 0x40
je 0x58196b
lea ecx, [esi*8]
mov dword [esp + 0x28], ecx
mov ecx, dword [ecx + esi*4 + 0x701828]
movsx eax, byte [ecx]
test eax, eax
je 0x581a47
mov eax, dword [esp + 0x20]
movzx edx, word [eax + 2]
test edx, edx
jne 0x581af4
mov edx, 0x6d3b60
call fcn.0051addc
test eax, eax
jne 0x5819ed
mov dword [ebp + 0x2a], 1
inc ebx
mov edx, 1
jmp 0x581a53
mov edx, dword [esp + 0x2c]
mov dword [ebp], edx
movzx eax, word [edi + 0xc]
mov word [ebp + 0x20], ax
mov ecx, dword [edi + 0xe]
mov dword [ebp + 0x26], ecx
mov eax, 1
cmp ecx, 1
mov ecx, 0
cmove ecx, eax
inc edx
mov dword [esp + 0x2c], edx
mov dword [ebp + 0x22], ecx
mov eax, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x2c]
push dword [eax + esi*4 + 0x701828]
mov ecx, ebp
call fcn.005d0e08
mov eax, dword [edi + 4]
mov dword [ebp + 0xe], eax
movzx edx, word [edi + 0xa]
mov word [ebp + 0x12], dx
inc ebx
mov edx, 1
jmp 0x581a53
test edx, edx
je 0x581a53
mov dword [ebp + 0x2a], 1
inc ebx
mov edi, dword [edi]
test edi, edi
jne 0x581933
jmp 0x581ba6
movzx eax, word [esi + 8]
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], edx
call fcn.005419d0
mov edx, dword [esp + 0x14]
test eax, eax
je 0x58185a
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], esi
mov esi, eax
mov ebx, edx
mov edi, dword [esp + 0x28]
movzx ecx, word [esi]
cmp ecx, edi
jne 0x581ade
movzx ecx, word [esi + 2]
test ecx, ecx
je 0x581ade
call fcn.0053ed74
mov dword [esp + 0xc], eax
movzx ecx, word [esi + 2]
push 1
push ebp
push ebp
push ecx
lea ecx, [esp + 0x1c]
call fcn.0053f960
test eax, eax
jne 0x581ad5
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
call fcn.0053ed6c
xor ebx, ebx
jmp 0x5818af
mov ecx, dword [esp + 0xc]
call fcn.0053ed6c
mov esi, dword [esi + 4]
test esi, esi
jne 0x581a8f
mov edx, ebx
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
jmp 0x58185a
movzx eax, word [edi + 8]
mov dword [esp + 0x14], eax
mov ecx, edx
call fcn.005419d0
test eax, eax
je 0x581b96
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 0x18], edi
mov ebp, eax
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x30]
movzx edx, word [ebp]
cmp edx, esi
jne 0x581b70
movzx edx, word [ebp + 2]
test edx, edx
je 0x581b70
call fcn.0053ed74
mov dword [esp + 8], eax
movzx edx, word [ebp + 2]
push 1
push edi
push edi
push edx
lea ecx, [esp + 0x18]
call fcn.0053f960
test eax, eax
jne 0x581b67
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 8]
call fcn.0053ed6c
xor edx, edx
jmp 0x581a53
mov ecx, dword [esp + 8]
call fcn.0053ed6c
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x581b20
mov dword [esp + 0x30], edi
mov esi, dword [esp]
mov ebp, dword [esp + 4]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + esi*4 + 0x701828]
jmp 0x5819d0
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + esi*4 + 0x701828]
jmp 0x5819d0
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
cmp eax, 1
je 0x581c41
mov ecx, ebp
call fcn.005533e0
push 0
push 0x5825c8
mov ecx, dword [ebp + 0x41]
call fcn.004f00dc
call fcn.004172d0
push 0
push dword [0x700c78]
push dword [0x700c68]
push eax
mov ecx, ebp
call fcn.004f7bc4
push 1
push 4
push ebp
mov ecx, dword [0x700c24]
call fcn.004f8000
push 1
push 4
push ebp
mov ecx, dword [0x700c28]
call fcn.004f8000
push 1
push 4
push ebp
mov ecx, dword [0x700c30]
call fcn.004f8000
push 1
push 4
push ebp
mov ecx, dword [0x700c34]
call fcn.004f8000
mov ecx, dword [esp + 0x24]
call fcn.0053ed6c
add esp, 0x34
pop ebx
pop ebp
pop esi
pop edi
ret
test edi, edi
jne 0x581c54
imul ecx, ebx, 0x2e
mov eax, dword [ebp + 0x29]
mov dword [eax + ecx + 0x2a], 1
inc ebx
imul ebx, ebx, 0x2e
add ebx, dword [ebp + 0x29]
mov dword [ebx], edx
push ebp
push 0x6c5d70
mov ecx, ebx
call fcn.005d0e08
mov dword [ebx + 0x22], 0
jmp 0x581bbf
mov edx, 1
xor ebx, ebx
jmp 0x581bb2
mov eax, 1
mov dword [esp + 0x1c], eax
mov edi, 1
xor ebx, ebx
jmp 0x5818c8
push str.Recursive_use_of_item_
mov ecx, ebp
call fcn.004fa850
jmp 0x5816bf
push 0
push 8
mov ecx, 0x700aa0
call fcn.004e5c2c
mov ecx, eax
test ecx, ecx
je 0x581cc4
xor edx, edx
mov dword [ecx], edx
mov dword [ecx + 4], edx
jmp 0x581cc6
xor ecx, ecx
mov dword [0x7e9270], ecx
jmp 0x581689
push edi
push esi
push ebp
push ebx
push ecx
mov eax, 0x30
call fcn.006977b0
mov ecx, dword [esp + 0x30]
mov ebp, ecx
or byte [ebp + 9], 0x10
xor eax, eax
mov dword [ebp + 0x35], eax
mov dword [ebp + 0x39], eax
mov dword [ebp + 0x3d], eax
mov dword [ebp + 0x25], eax
call fcn.0053ed74
mov dword [esp + 0x20], eax
movzx ecx, word [ebp + 0x1f]
call fcn.00599520
push 0
push ebp
mov ecx, eax
call fcn.005a57c8
mov eax, dword [eax + 8]
mov dword [esp + 0x24], eax
movzx edx, word [eax + 0xa]
test edx, edx
je 0x581d46
mov word [ebp + 0x31], dx
lea eax, [edx*8]
mov ecx, dword [eax + edx*4 + 0x701828]
mov edx, 0x6c5270
call fcn.0051addc
test eax, eax
jne 0x581d50
movzx eax, word [ebp + 0x1f]
mov word [ebp + 0x31], ax
jmp 0x581d54
movzx eax, word [ebp + 0x31]
lea edx, [eax*8]
mov ecx, dword [edx + eax*4 + 0x701828]
movsx edx, byte [ecx]
cmp edx, 0x24
je 0x581d74
cmp edx, 0x22
je 0x581d74
cmp edx, 0x23
jne 0x581d88
push 1
push ebp
push ebp
push eax
lea ecx, [esp + 0x30]
call fcn.0053f830
mov word [ebp + 0x31], ax
jmp 0x581d8d
cmp edx, 0x40
je 0x581d74
movzx edx, ax
test edx, edx
je 0x581db3
movzx ebx, ax
lea eax, [ebx*8]
mov ecx, dword [eax + ebx*4 + 0x701828]
mov edx, 0x6c5270
call fcn.0051addc
test eax, eax
jne 0x581dbb
movzx eax, word [ebp + 0x1f]
mov word [ebp + 0x31], ax
mov eax, dword [esp + 0x24]
movzx edx, word [eax + 0xc]
mov word [ebp + 0x33], dx
mov ecx, dword [0x7e9270]
test ecx, ecx
je 0x58242f
mov edx, dword [ecx + 4]
test edx, edx
je 0x581de6
movzx edx, word [edx + 0x21]
inc edx
movzx edx, dx
jmp 0x581deb
mov edx, 1
mov word [ebp + 0x21], dx
mov ebx, dword [ecx]
test ebx, ebx
je 0x581e1e
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x3c]
movzx eax, ax
movzx edx, word [ebp + 0x1f]
cmp eax, edx
je 0x58241e
mov ecx, ebx
call fcn.004fa640
mov ebx, eax
test ebx, ebx
jne 0x581df5
mov ecx, dword [0x7e9270]
push ebp
call fcn.005a55c8
call fcn.0058424c
mov dword [ebp + 0x41], eax
push 0
push 0xc
mov ecx, 0x700968
call fcn.004e5c2c
test eax, eax
je 0x581e4e
mov dword [eax], 0x6b9578
xor edx, edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
jmp 0x581e50
xor eax, eax
mov dword [ebp + 0x45], eax
mov eax, dword [esp + 0x24]
movzx ecx, word [eax + 4]
call fcn.00541ae8
mov ebx, eax
test ebx, ebx
je 0x581ea9
movzx ecx, word [ebx]
xor eax, eax
push dword [ebp + 0x41]
push eax
push eax
mov edx, ebp
call fcn.00584188
mov esi, eax
test esi, esi
je 0x581ea2
mov ecx, 0x1e
call fcn.004dc218
test eax, eax
je 0x581e97
push 1
push esi
mov ecx, eax
call fcn.005a2034
jmp 0x581e99
xor eax, eax
push eax
mov ecx, dword [ebp + 0x45]
call fcn.004ee1d4
mov ebx, dword [ebx + 2]
test ebx, ebx
jne 0x581e66
mov eax, dword [esp + 0x24]
movzx ecx, word [eax + 6]
call fcn.00541ae8
mov ebx, eax
test ebx, ebx
je 0x581eff
movzx ecx, word [ebx]
xor eax, eax
push dword [ebp + 0x41]
push eax
push eax
mov edx, ebp
call fcn.00584188
mov esi, eax
test esi, esi
je 0x581ef8
mov ecx, 0x1e
call fcn.004dc218
test eax, eax
je 0x581eed
push 0
push esi
mov ecx, eax
call fcn.005a2034
jmp 0x581eef
xor eax, eax
push eax
mov ecx, dword [ebp + 0x45]
call fcn.004ee1d4
mov ebx, dword [ebx + 2]
test ebx, ebx
jne 0x581ebc
xor eax, eax
mov word [ebp + 0x23], ax
mov dword [ebp + 0x2d], eax
mov edx, dword [esp + 0x24]
movzx ebx, word [edx + 8]
mov ecx, dword [0x7e942c]
mov eax, dword [ecx + ebx*4]
test eax, eax
je 0x58240d
mov edi, 1
mov esi, 1
mov ebx, 1
mov dword [esp + 0x30], ebp
mov ebp, eax
movzx eax, word [ebp + 8]
test eax, eax
je 0x581f82
lea edx, [eax*8]
mov ecx, dword [edx + eax*4 + 0x701828]
movsx edx, byte [ecx]
cmp edx, 0x24
je 0x581f5e
cmp edx, 0x22
je 0x581f5e
cmp edx, 0x23
jne 0x581f7d
push 1
mov edx, dword [esp + 0x34]
push edx
push edx
push eax
lea ecx, [esp + 0x30]
call fcn.0053f830
movzx edx, ax
test edx, edx
jne 0x581f82
movzx eax, word [ebp + 8]
jmp 0x581f82
cmp edx, 0x40
je 0x581f5e
movzx edx, ax
test edx, edx
je 0x582000
lea ecx, [edx*8]
mov dword [esp + 0x28], ecx
mov ecx, dword [ecx + edx*4 + 0x701828]
movsx ecx, byte [ecx]
test ecx, ecx
je 0x582000
mov ecx, dword [esp + 0x24]
movzx ecx, word [ecx + 2]
test ecx, ecx
jne 0x5821d6
mov ecx, dword [esp + 0x30]
inc dword [ecx + 0x2d]
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + edx*4 + 0x701828]
mov edx, 0x6d3b60
call fcn.0051addc
test eax, eax
je 0x581ff4
mov ebx, dword [esp + 0x30]
inc word [ebx + 0x23]
mov ebx, 1
mov edx, dword [ebp + 4]
test edx, edx
jne 0x581feb
mov edi, 0
je 0x582010
mov esi, 0
jmp 0x582010
mov ebx, 1
mov esi, 1
jmp 0x582010
test ebx, ebx
je 0x582010
mov edx, dword [esp + 0x30]
inc dword [edx + 0x2d]
mov esi, 1
mov ebp, dword [ebp]
test ebp, ebp
jne 0x581f36
mov ebp, dword [esp + 0x30]
mov ebx, dword [ebp + 0x2d]
test edi, edi
je 0x582038
inc ebx
test esi, esi
jne 0x582031
inc ebx
mov dword [ebp + 0x2d], ebx
jmp 0x582034
mov dword [ebp + 0x2d], ebx
inc word [ebp + 0x23]
imul ecx, ebx, 0x2e
add ecx, 4
call fcn.004dc218
test eax, eax
je 0x58204e
mov dword [eax], ebx
add eax, 4
jmp 0x582050
xor eax, eax
mov dword [ebp + 0x29], eax
mov edx, dword [esp + 0x24]
movzx ebx, word [edx + 8]
mov ecx, dword [0x7e942c]
mov edx, dword [ecx + ebx*4]
mov dword [esp + 0x1c], edx
test edx, edx
je 0x582401
mov edx, 1
xor ebx, ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x30], ebp
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
jmp 0x58209c
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x29]
imul ebp, ebx, 0x2e
add ebp, eax
movzx eax, word [esi + 8]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x5821bb
mov edx, eax
lea eax, [edx*8]
mov ecx, dword [eax + edx*4 + 0x701828]
movsx eax, byte [ecx]
cmp eax, 0x24
je 0x5820d3
cmp eax, 0x22
je 0x5820d3
cmp eax, 0x23
jne 0x582106
push 1
mov eax, dword [esp + 0x34]
push eax
push eax
push edx
lea ecx, [esp + 0x30]
call fcn.0053f830
movzx edx, ax
test edx, edx
jne 0x5820f6
movzx eax, word [esi + 8]
mov dword [esp + 0x2c], eax
jmp 0x5820fd
movzx eax, ax
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x58210b
jmp 0x5821bb
cmp eax, 0x40
je 0x5820d3
mov eax, dword [esp + 0x2c]
lea ecx, [eax*8]
mov dword [esp + 0x28], ecx
mov ecx, dword [ecx + eax*4 + 0x701828]
movsx edx, byte [ecx]
test edx, edx
je 0x5821bb
mov eax, dword [esp + 0x24]
movzx edx, word [eax + 2]
test edx, edx
jne 0x582281
mov edx, 0x6d3b60
call fcn.0051addc
test eax, eax
jne 0x582159
mov dword [ebp + 0x2a], 1
inc ebx
mov edi, 1
jmp 0x5821c7
mov edi, dword [esp + 0x18]
mov dword [ebp], edi
movzx eax, word [esi + 0xc]
mov word [ebp + 0x20], ax
mov edx, dword [esi + 0xe]
mov dword [ebp + 0x26], edx
xor eax, eax
mov dword [esp + 0x14], eax
cmp edx, 1
mov edx, eax
sete dl
mov dword [esp + 0x14], edx
inc edi
mov dword [esp + 0x18], edi
mov eax, edx
mov dword [ebp + 0x22], eax
mov eax, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
push dword [eax + edx*4 + 0x701828]
mov ecx, ebp
call fcn.005d0e08
mov eax, dword [esi + 4]
mov dword [ebp + 0xe], eax
movzx edx, word [esi + 0xa]
mov word [ebp + 0x12], dx
inc ebx
mov edi, 1
jmp 0x5821c7
test edi, edi
je 0x5821c7
mov dword [ebp + 0x2a], 1
inc ebx
mov esi, dword [esi]
test esi, esi
jne 0x582095
jmp 0x582332
movzx eax, word [ebp + 8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], edx
call fcn.005419d0
mov edx, dword [esp + 0x18]
test eax, eax
je 0x581fb2
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], ebp
mov ebp, eax
mov ebx, edx
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
movzx ecx, word [ebp]
cmp ecx, esi
jne 0x582263
movzx ecx, word [ebp + 2]
test ecx, ecx
je 0x582263
call fcn.0053ed74
mov dword [esp + 8], eax
movzx ecx, word [ebp + 2]
push 1
push edi
push edi
push ecx
lea ecx, [esp + 0x18]
call fcn.0053f960
test eax, eax
jne 0x58225a
mov dword [esp + 0x30], edi
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 8]
call fcn.0053ed6c
xor ebx, ebx
jmp 0x582010
mov ecx, dword [esp + 8]
call fcn.0053ed6c
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x58220b
mov dword [esp + 0x30], edi
mov edx, ebx
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
jmp 0x581fb2
movzx eax, word [esi + 8]
mov dword [esp + 0x14], eax
mov ecx, edx
call fcn.005419d0
mov edi, eax
test edi, edi
je 0x58231e
mov dword [esp], ebp
mov dword [esp + 0x1c], esi
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x30]
movzx eax, word [edi]
cmp eax, ebp
jne 0x5822f8
movzx eax, word [edi + 2]
test eax, eax
je 0x5822f8
call fcn.0053ed74
mov dword [esp + 4], eax
movzx eax, word [edi + 2]
push 1
push esi
push esi
push eax
lea ecx, [esp + 0x14]
call fcn.0053f960
test eax, eax
jne 0x5822ef
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 4]
call fcn.0053ed6c
xor edi, edi
jmp 0x5821c7
mov ecx, dword [esp + 4]
call fcn.0053ed6c
mov edi, dword [edi + 4]
test edi, edi
jne 0x5822a9
mov dword [esp + 0x30], esi
mov ebp, dword [esp]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ecx, dword [eax + edx*4 + 0x701828]
jmp 0x58213c
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ecx, dword [eax + edx*4 + 0x701828]
jmp 0x58213c
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x30]
cmp edi, 1
je 0x5823cd
mov ecx, ebp
call fcn.005533e0
push 0
push 0x5825c8
mov ecx, dword [ebp + 0x41]
call fcn.004f00dc
call fcn.004172d0
push 0
push dword [0x700c78]
push dword [0x700c68]
push eax
mov ecx, ebp
call fcn.004f7bc4
push 1
push 4
push ebp
mov ecx, dword [0x700c24]
call fcn.004f8000
push 1
push 4
push ebp
mov ecx, dword [0x700c28]
call fcn.004f8000
push 1
push 4
push ebp
mov ecx, dword [0x700c30]
call fcn.004f8000
push 1
push 4
push ebp
mov ecx, dword [0x700c34]
call fcn.004f8000
mov ecx, dword [esp + 0x20]
call fcn.0053ed6c
add esp, 0x34
pop ebx
pop ebp
pop esi
pop edi
ret
test esi, esi
jne 0x5823e0
imul ecx, ebx, 0x2e
mov eax, dword [ebp + 0x29]
mov dword [eax + ecx + 0x2a], 1
inc ebx
imul ebx, ebx, 0x2e
add ebx, dword [ebp + 0x29]
mov dword [ebx], edx
push ebp
push 0x6c5d70
mov ecx, ebx
call fcn.005d0e08
mov dword [ebx + 0x22], 0
jmp 0x58234b
mov edx, 1
xor ebx, ebx
jmp 0x582342
mov edi, 1
mov esi, 1
xor ebx, ebx
jmp 0x582026
push str.Recursive_use_of_item_
mov ecx, ebp
call fcn.004fa850
jmp 0x581e0b
push 0
push 8
mov ecx, 0x700aa0
call fcn.004e5c2c
mov ecx, eax
test ecx, ecx
je 0x58244c
xor edx, edx
mov dword [ecx], edx
mov dword [ecx + 4], edx
jmp 0x58244e
xor ecx, ecx
mov dword [0x7e9270], ecx
jmp 0x581dd5