Function at 0x5810c8
Capabilities:
Enumerate pe sections

Disassembly:
test dword [0x7eeab0], 0xffffff80
jne 0x5810f0
test dword [0x7eeab0], 0xffffffff
jne 0x581834
call fcn.006a7b4c
jmp fcn.005810c8
push edi
push esi
push ebp
push ebx
push ecx
mov eax, 0x30
call fcn.00697340
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.0053e928
mov dword [esp + 0x24], eax
movzx ecx, word [ebp + 0x1f]
call fcn.005990ac
push 0
push ebp
mov ecx, eax
call fcn.005a535c
mov esi, dword [eax + 8]
movzx edx, word [esi + 0xa]
test edx, edx
je 0x58115e
mov word [ebp + 0x31], dx
lea eax, [edx*8]
mov ecx, dword [eax + edx*4 + 0x701828]
mov edx, 0x6c51ec
call fcn.0051a970
test eax, eax
jne 0x581168
movzx eax, word [ebp + 0x1f]
mov word [ebp + 0x31], ax
jmp 0x58116c
movzx eax, word [ebp + 0x31]
lea edx, [eax*8]
mov ecx, dword [edx + eax*4 + 0x701828]
movsx edx, byte [ecx]
cmp edx, 0x24
je 0x58118c
cmp edx, 0x22
je 0x58118c
cmp edx, 0x23
jne 0x5811a0
push 1
push ebp
push ebp
push eax
lea ecx, [esp + 0x34]
call fcn.0053f3e4
mov word [ebp + 0x31], ax
jmp 0x5811a5
cmp edx, 0x40
je 0x58118c
movzx edx, ax
test edx, edx
je 0x5811cb
movzx ebx, ax
lea eax, [ebx*8]
mov ecx, dword [eax + ebx*4 + 0x701828]
mov edx, 0x6c51ec
call fcn.0051a970
test eax, eax
jne 0x5811d3
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 0x581807
mov edx, dword [ecx + 4]
test edx, edx
je 0x5811fa
movzx edx, word [edx + 0x21]
inc edx
movzx edx, dx
jmp 0x5811ff
mov edx, 1
mov word [ebp + 0x21], dx
mov ebx, dword [ecx]
test ebx, ebx
je 0x581232
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x3c]
movzx eax, ax
movzx edx, word [ebp + 0x1f]
cmp eax, edx
je 0x5817f6
mov ecx, ebx
call fcn.004fa1a4
mov ebx, eax
test ebx, ebx
jne 0x581209
mov ecx, dword [0x7e9270]
push ebp
call fcn.005a515c
call fcn.00583dd0
mov dword [ebp + 0x41], eax
push 0
push 0xc
mov ecx, 0x700968
call fcn.004e579c
test eax, eax
je 0x581262
mov dword [eax], 0x6b9578
xor edx, edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
jmp 0x581264
xor eax, eax
mov dword [ebp + 0x45], eax
movzx ecx, word [esi + 4]
call fcn.0054169c
mov edi, eax
test edi, edi
je 0x5812b9
movzx ecx, word [edi]
xor eax, eax
push dword [ebp + 0x41]
push eax
push eax
mov edx, ebp
call fcn.00583d0c
mov ebx, eax
test ebx, ebx
je 0x5812b2
mov ecx, 0x1e
call fcn.004dbdb8
test eax, eax
je 0x5812a7
push 1
push ebx
mov ecx, eax
call fcn.005a1bc8
jmp 0x5812a9
xor eax, eax
push eax
mov ecx, dword [ebp + 0x45]
call fcn.004edd44
mov edi, dword [edi + 2]
test edi, edi
jne 0x581276
movzx ecx, word [esi + 6]
call fcn.0054169c
mov edi, eax
test edi, edi
je 0x58130b
movzx ecx, word [edi]
xor eax, eax
push dword [ebp + 0x41]
push eax
push eax
mov edx, ebp
call fcn.00583d0c
mov ebx, eax
test ebx, ebx
je 0x581304
mov ecx, 0x1e
call fcn.004dbdb8
test eax, eax
je 0x5812f9
push 0
push ebx
mov ecx, eax
call fcn.005a1bc8
jmp 0x5812fb
xor eax, eax
push eax
mov ecx, dword [ebp + 0x45]
call fcn.004edd44
mov edi, dword [edi + 2]
test edi, edi
jne 0x5812c8
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 0x5817e1
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 0x58138a
lea edx, [eax*8]
mov ecx, dword [edx + eax*4 + 0x701828]
movsx edx, byte [ecx]
cmp edx, 0x24
je 0x58136a
cmp edx, 0x22
je 0x58136a
cmp edx, 0x23
jne 0x581385
push 1
push ebp
push ebp
push eax
lea ecx, [esp + 0x34]
call fcn.0053f3e4
movzx edx, ax
test edx, edx
jne 0x58138a
movzx eax, word [esi + 8]
jmp 0x58138a
cmp edx, 0x40
je 0x58136a
movzx edx, ax
test edx, edx
je 0x581403
lea ecx, [edx*8]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ecx + edx*4 + 0x701828]
movsx ecx, byte [ecx]
test ecx, ecx
je 0x581403
mov ecx, dword [esp + 0x20]
movzx ecx, word [ecx + 2]
test ecx, ecx
jne 0x5815c2
inc dword [ebp + 0x2d]
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + edx*4 + 0x701828]
mov edx, 0x6d3ac0
call fcn.0051a970
test eax, eax
je 0x5813f7
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 0x58140f
mov ebx, 1
mov edi, 1
jmp 0x58140f
test ebx, ebx
je 0x58140f
inc dword [ebp + 0x2d]
mov edi, 1
mov esi, dword [esi]
test esi, esi
jne 0x581342
mov esi, dword [esp + 0x20]
mov ebx, dword [ebp + 0x2d]
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x58143a
inc ebx
test edi, edi
jne 0x581433
inc ebx
mov dword [ebp + 0x2d], ebx
jmp 0x581436
mov dword [ebp + 0x2d], ebx
inc word [ebp + 0x23]
imul ecx, ebx, 0x2e
add ecx, 4
call fcn.004dbdb8
test eax, eax
je 0x581450
mov dword [eax], ebx
add eax, 4
jmp 0x581452
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 0x5817d5
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 0x58149a
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 0x5815a7
lea eax, [esi*8]
mov ecx, dword [eax + esi*4 + 0x701828]
movsx eax, byte [ecx]
cmp eax, 0x24
je 0x5814cb
cmp eax, 0x22
je 0x5814cb
cmp eax, 0x23
jne 0x5814fe
push 1
mov eax, dword [esp + 0x34]
push eax
push eax
push esi
lea ecx, [esp + 0x34]
mov dword [esp + 0x24], edx
call fcn.0053f3e4
mov edx, dword [esp + 0x14]
movzx ecx, ax
test ecx, ecx
jne 0x5814f2
movzx esi, word [edi + 8]
jmp 0x5814f5
movzx esi, ax
test esi, esi
jne 0x581503
jmp 0x5815a7
cmp eax, 0x40
je 0x5814cb
lea ecx, [esi*8]
mov dword [esp + 0x28], ecx
mov ecx, dword [ecx + esi*4 + 0x701828]
movsx eax, byte [ecx]
test eax, eax
je 0x5815a7
mov eax, dword [esp + 0x20]
movzx edx, word [eax + 2]
test edx, edx
jne 0x581654
mov edx, 0x6d3ac0
call fcn.0051a970
test eax, eax
jne 0x58154d
mov dword [ebp + 0x2a], 1
inc ebx
mov edx, 1
jmp 0x5815b3
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.005d09cc
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 0x5815b3
test edx, edx
je 0x5815b3
mov dword [ebp + 0x2a], 1
inc ebx
mov edi, dword [edi]
test edi, edi
jne 0x581493
jmp 0x581706
movzx eax, word [esi + 8]
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], edx
call fcn.00541584
mov edx, dword [esp + 0x14]
test eax, eax
je 0x5813ba
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 0x58163e
movzx ecx, word [esi + 2]
test ecx, ecx
je 0x58163e
call fcn.0053e928
mov dword [esp + 0xc], eax
movzx ecx, word [esi + 2]
push 1
push ebp
push ebp
push ecx
lea ecx, [esp + 0x1c]
call fcn.0053f514
test eax, eax
jne 0x581635
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
call fcn.0053e920
xor ebx, ebx
jmp 0x58140f
mov ecx, dword [esp + 0xc]
call fcn.0053e920
mov esi, dword [esi + 4]
test esi, esi
jne 0x5815ef
mov edx, ebx
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
jmp 0x5813ba
movzx eax, word [edi + 8]
mov dword [esp + 0x14], eax
mov ecx, edx
call fcn.00541584
test eax, eax
je 0x5816f6
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 0x5816d0
movzx edx, word [ebp + 2]
test edx, edx
je 0x5816d0
call fcn.0053e928
mov dword [esp + 8], eax
movzx edx, word [ebp + 2]
push 1
push edi
push edi
push edx
lea ecx, [esp + 0x18]
call fcn.0053f514
test eax, eax
jne 0x5816c7
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 8]
call fcn.0053e920
xor edx, edx
jmp 0x5815b3
mov ecx, dword [esp + 8]
call fcn.0053e920
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x581680
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 0x581530
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + esi*4 + 0x701828]
jmp 0x581530
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
cmp eax, 1
je 0x5817a1
mov ecx, ebp
call fcn.00552f54
push 0
push 0x582128
mov ecx, dword [ebp + 0x41]
call fcn.004efc4c
call fcn.00416ef0
push 0
push dword [0x700c78]
push dword [0x700c68]
push eax
mov ecx, ebp
call fcn.004f7718
push 1
push 4
push ebp
mov ecx, dword [0x700c24]
call fcn.004f7b54
push 1
push 4
push ebp
mov ecx, dword [0x700c28]
call fcn.004f7b54
push 1
push 4
push ebp
mov ecx, dword [0x700c30]
call fcn.004f7b54
push 1
push 4
push ebp
mov ecx, dword [0x700c34]
call fcn.004f7b54
mov ecx, dword [esp + 0x24]
call fcn.0053e920
add esp, 0x34
pop ebx
pop ebp
pop esi
pop edi
ret
test edi, edi
jne 0x5817b4
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 0x6c5ce4
mov ecx, ebx
call fcn.005d09cc
mov dword [ebx + 0x22], 0
jmp 0x58171f
mov edx, 1
xor ebx, ebx
jmp 0x581712
mov eax, 1
mov dword [esp + 0x1c], eax
mov edi, 1
xor ebx, ebx
jmp 0x581428
push str.Recursive_use_of_item_
mov ecx, ebp
call fcn.004fa3b4
jmp 0x58121f
push 0
push 8
mov ecx, 0x700aa0
call fcn.004e579c
mov ecx, eax
test ecx, ecx
je 0x581824
xor edx, edx
mov dword [ecx], edx
mov dword [ecx + 4], edx
jmp 0x581826
xor ecx, ecx
mov dword [0x7e9270], ecx
jmp 0x5811e9
push edi
push esi
push ebp
push ebx
push ecx
mov eax, 0x30
call fcn.00697340
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.0053e928
mov dword [esp + 0x20], eax
movzx ecx, word [ebp + 0x1f]
call fcn.005990ac
push 0
push ebp
mov ecx, eax
call fcn.005a535c
mov eax, dword [eax + 8]
mov dword [esp + 0x24], eax
movzx edx, word [eax + 0xa]
test edx, edx
je 0x5818a6
mov word [ebp + 0x31], dx
lea eax, [edx*8]
mov ecx, dword [eax + edx*4 + 0x701828]
mov edx, 0x6c51ec
call fcn.0051a970
test eax, eax
jne 0x5818b0
movzx eax, word [ebp + 0x1f]
mov word [ebp + 0x31], ax
jmp 0x5818b4
movzx eax, word [ebp + 0x31]
lea edx, [eax*8]
mov ecx, dword [edx + eax*4 + 0x701828]
movsx edx, byte [ecx]
cmp edx, 0x24
je 0x5818d4
cmp edx, 0x22
je 0x5818d4
cmp edx, 0x23
jne 0x5818e8
push 1
push ebp
push ebp
push eax
lea ecx, [esp + 0x30]
call fcn.0053f3e4
mov word [ebp + 0x31], ax
jmp 0x5818ed
cmp edx, 0x40
je 0x5818d4
movzx edx, ax
test edx, edx
je 0x581913
movzx ebx, ax
lea eax, [ebx*8]
mov ecx, dword [eax + ebx*4 + 0x701828]
mov edx, 0x6c51ec
call fcn.0051a970
test eax, eax
jne 0x58191b
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 0x581f8f
mov edx, dword [ecx + 4]
test edx, edx
je 0x581946
movzx edx, word [edx + 0x21]
inc edx
movzx edx, dx
jmp 0x58194b
mov edx, 1
mov word [ebp + 0x21], dx
mov ebx, dword [ecx]
test ebx, ebx
je 0x58197e
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x3c]
movzx eax, ax
movzx edx, word [ebp + 0x1f]
cmp eax, edx
je 0x581f7e
mov ecx, ebx
call fcn.004fa1a4
mov ebx, eax
test ebx, ebx
jne 0x581955
mov ecx, dword [0x7e9270]
push ebp
call fcn.005a515c
call fcn.00583dd0
mov dword [ebp + 0x41], eax
push 0
push 0xc
mov ecx, 0x700968
call fcn.004e579c
test eax, eax
je 0x5819ae
mov dword [eax], 0x6b9578
xor edx, edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
jmp 0x5819b0
xor eax, eax
mov dword [ebp + 0x45], eax
mov eax, dword [esp + 0x24]
movzx ecx, word [eax + 4]
call fcn.0054169c
mov ebx, eax
test ebx, ebx
je 0x581a09
movzx ecx, word [ebx]
xor eax, eax
push dword [ebp + 0x41]
push eax
push eax
mov edx, ebp
call fcn.00583d0c
mov esi, eax
test esi, esi
je 0x581a02
mov ecx, 0x1e
call fcn.004dbdb8
test eax, eax
je 0x5819f7
push 1
push esi
mov ecx, eax
call fcn.005a1bc8
jmp 0x5819f9
xor eax, eax
push eax
mov ecx, dword [ebp + 0x45]
call fcn.004edd44
mov ebx, dword [ebx + 2]
test ebx, ebx
jne 0x5819c6
mov eax, dword [esp + 0x24]
movzx ecx, word [eax + 6]
call fcn.0054169c
mov ebx, eax
test ebx, ebx
je 0x581a5f
movzx ecx, word [ebx]
xor eax, eax
push dword [ebp + 0x41]
push eax
push eax
mov edx, ebp
call fcn.00583d0c
mov esi, eax
test esi, esi
je 0x581a58
mov ecx, 0x1e
call fcn.004dbdb8
test eax, eax
je 0x581a4d
push 0
push esi
mov ecx, eax
call fcn.005a1bc8
jmp 0x581a4f
xor eax, eax
push eax
mov ecx, dword [ebp + 0x45]
call fcn.004edd44
mov ebx, dword [ebx + 2]
test ebx, ebx
jne 0x581a1c
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 0x581f6d
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 0x581ae2
lea edx, [eax*8]
mov ecx, dword [edx + eax*4 + 0x701828]
movsx edx, byte [ecx]
cmp edx, 0x24
je 0x581abe
cmp edx, 0x22
je 0x581abe
cmp edx, 0x23
jne 0x581add
push 1
mov edx, dword [esp + 0x34]
push edx
push edx
push eax
lea ecx, [esp + 0x30]
call fcn.0053f3e4
movzx edx, ax
test edx, edx
jne 0x581ae2
movzx eax, word [ebp + 8]
jmp 0x581ae2
cmp edx, 0x40
je 0x581abe
movzx edx, ax
test edx, edx
je 0x581b60
lea ecx, [edx*8]
mov dword [esp + 0x28], ecx
mov ecx, dword [ecx + edx*4 + 0x701828]
movsx ecx, byte [ecx]
test ecx, ecx
je 0x581b60
mov ecx, dword [esp + 0x24]
movzx ecx, word [ecx + 2]
test ecx, ecx
jne 0x581d36
mov ecx, dword [esp + 0x30]
inc dword [ecx + 0x2d]
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + edx*4 + 0x701828]
mov edx, 0x6d3ac0
call fcn.0051a970
test eax, eax
je 0x581b54
mov ebx, dword [esp + 0x30]
inc word [ebx + 0x23]
mov ebx, 1
mov edx, dword [ebp + 4]
test edx, edx
jne 0x581b4b
mov edi, 0
je 0x581b70
mov esi, 0
jmp 0x581b70
mov ebx, 1
mov esi, 1
jmp 0x581b70
test ebx, ebx
je 0x581b70
mov edx, dword [esp + 0x30]
inc dword [edx + 0x2d]
mov esi, 1
mov ebp, dword [ebp]
test ebp, ebp
jne 0x581a96
mov ebp, dword [esp + 0x30]
mov ebx, dword [ebp + 0x2d]
test edi, edi
je 0x581b98
inc ebx
test esi, esi
jne 0x581b91
inc ebx
mov dword [ebp + 0x2d], ebx
jmp 0x581b94
mov dword [ebp + 0x2d], ebx
inc word [ebp + 0x23]
imul ecx, ebx, 0x2e
add ecx, 4
call fcn.004dbdb8
test eax, eax
je 0x581bae
mov dword [eax], ebx
add eax, 4
jmp 0x581bb0
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 0x581f61
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 0x581bfc
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 0x581d1b
mov edx, eax
lea eax, [edx*8]
mov ecx, dword [eax + edx*4 + 0x701828]
movsx eax, byte [ecx]
cmp eax, 0x24
je 0x581c33
cmp eax, 0x22
je 0x581c33
cmp eax, 0x23
jne 0x581c66
push 1
mov eax, dword [esp + 0x34]
push eax
push eax
push edx
lea ecx, [esp + 0x30]
call fcn.0053f3e4
movzx edx, ax
test edx, edx
jne 0x581c56
movzx eax, word [esi + 8]
mov dword [esp + 0x2c], eax
jmp 0x581c5d
movzx eax, ax
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x581c6b
jmp 0x581d1b
cmp eax, 0x40
je 0x581c33
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 0x581d1b
mov eax, dword [esp + 0x24]
movzx edx, word [eax + 2]
test edx, edx
jne 0x581de1
mov edx, 0x6d3ac0
call fcn.0051a970
test eax, eax
jne 0x581cb9
mov dword [ebp + 0x2a], 1
inc ebx
mov edi, 1
jmp 0x581d27
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.005d09cc
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 0x581d27
test edi, edi
je 0x581d27
mov dword [ebp + 0x2a], 1
inc ebx
mov esi, dword [esi]
test esi, esi
jne 0x581bf5
jmp 0x581e92
movzx eax, word [ebp + 8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], edx
call fcn.00541584
mov edx, dword [esp + 0x18]
test eax, eax
je 0x581b12
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 0x581dc3
movzx ecx, word [ebp + 2]
test ecx, ecx
je 0x581dc3
call fcn.0053e928
mov dword [esp + 8], eax
movzx ecx, word [ebp + 2]
push 1
push edi
push edi
push ecx
lea ecx, [esp + 0x18]
call fcn.0053f514
test eax, eax
jne 0x581dba
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.0053e920
xor ebx, ebx
jmp 0x581b70
mov ecx, dword [esp + 8]
call fcn.0053e920
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x581d6b
mov dword [esp + 0x30], edi
mov edx, ebx
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
jmp 0x581b12
movzx eax, word [esi + 8]
mov dword [esp + 0x14], eax
mov ecx, edx
call fcn.00541584
mov edi, eax
test edi, edi
je 0x581e7e
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 0x581e58
movzx eax, word [edi + 2]
test eax, eax
je 0x581e58
call fcn.0053e928
mov dword [esp + 4], eax
movzx eax, word [edi + 2]
push 1
push esi
push esi
push eax
lea ecx, [esp + 0x14]
call fcn.0053f514
test eax, eax
jne 0x581e4f
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 4]
call fcn.0053e920
xor edi, edi
jmp 0x581d27
mov ecx, dword [esp + 4]
call fcn.0053e920
mov edi, dword [edi + 4]
test edi, edi
jne 0x581e09
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 0x581c9c
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ecx, dword [eax + edx*4 + 0x701828]
jmp 0x581c9c
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x30]
cmp edi, 1
je 0x581f2d
mov ecx, ebp
call fcn.00552f54
push 0
push 0x582128
mov ecx, dword [ebp + 0x41]
call fcn.004efc4c
call fcn.00416ef0
push 0
push dword [0x700c78]
push dword [0x700c68]
push eax
mov ecx, ebp
call fcn.004f7718
push 1
push 4
push ebp
mov ecx, dword [0x700c24]
call fcn.004f7b54
push 1
push 4
push ebp
mov ecx, dword [0x700c28]
call fcn.004f7b54
push 1
push 4
push ebp
mov ecx, dword [0x700c30]
call fcn.004f7b54
push 1
push 4
push ebp
mov ecx, dword [0x700c34]
call fcn.004f7b54
mov ecx, dword [esp + 0x20]
call fcn.0053e920
add esp, 0x34
pop ebx
pop ebp
pop esi
pop edi
ret
test esi, esi
jne 0x581f40
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 0x6c5ce4
mov ecx, ebx
call fcn.005d09cc
mov dword [ebx + 0x22], 0
jmp 0x581eab
mov edx, 1
xor ebx, ebx
jmp 0x581ea2
mov edi, 1
mov esi, 1
xor ebx, ebx
jmp 0x581b86
push str.Recursive_use_of_item_
mov ecx, ebp
call fcn.004fa3b4
jmp 0x58196b
push 0
push 8
mov ecx, 0x700aa0
call fcn.004e579c
mov ecx, eax
test ecx, ecx
je 0x581fac
xor edx, edx
mov dword [ecx], edx
mov dword [ecx + 4], edx
jmp 0x581fae
xor ecx, ecx
mov dword [0x7e9270], ecx
jmp 0x581935