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

Disassembly:
sub esp, 0x20
push ebx
push ebp
mov ebp, dword [esp + 0x2c]
push esi
mov esi, dword [esp + 0x34]
push edi
mov edi, dword [ebp + 0xc]
xor ebx, ebx
cmp edi, ebx
jne 0x10024b49
mov eax, dword [ebp]
push eax
call fcn.1000ccf0
add esp, 4
mov dword [ebp + 0xc], eax
mov edi, eax
cmp esi, ebx
je 0x10025a4f
cmp dword [esi + 0x10], ebx
je 0x10025a4f
mov ecx, dword [esi + 0x4c]
mov eax, dword [ebp]
push ecx
push eax
call fcn.10006be0
lea edx, [eax + eax*2]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp]
mov eax, dword [eax + 4]
mov ecx, dword [eax + edx*8]
mov edx, dword [esi]
push ecx
push ebx
push edx
push 0x1c
push ebp
call fcn.1001a2e0
add esp, 0x1c
test eax, eax
jne 0x10025a4f
mov eax, dword [esi]
mov ecx, dword [esi + 0x14]
mov edx, dword [esp + 0x24]
push eax
push ebx
push ecx
push edx
push ebp
call fcn.10012c00
mov esi, dword [esi + 0x10]
mov eax, dword [ebp + 0x1c]
add esp, 0x14
cmp esi, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], esi
je 0x10025a4f
jmp 0x10024bc8
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x34]
push esi
push ebp
call fcn.1001aee0
mov ecx, dword [esp + 0x2c]
push ebx
push ecx
push 0x2f
push edi
mov dword [esp + 0x44], eax
call fcn.10011e00
mov eax, dword [esi + 0x14]
mov edx, dword [esp + 0x2c]
push eax
push edx
push 0xe
push edi
call fcn.10011e00
mov ecx, dword [esp + 0x54]
push 0xfffffffffffffff7
push ecx
push eax
push edi
call fcn.1000ce50
mov esi, dword [esi + 4]
mov edx, dword [esp + 0x78]
lea eax, [edx + esi*2]
add esp, 0x38
cmp eax, dword [ebp + 0x20]
mov dword [esp + 0x10], esi
jl 0x10024c1c
add eax, 1
mov dword [ebp + 0x20], eax
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
lea eax, [esi + 1]
push eax
push ecx
push 0x67
push edi
call fcn.10011e00
add esp, 0x10
xor ebp, ebp
cmp esi, ebx
jl 0x10024c96
lea ebx, [ebx]
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10024c60
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10024c60
cmp dword [0x100593b8], ebx
jg 0x10024c89
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], 1
mov ecx, dword [esp + 0x40]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
lea edx, [ecx + ebp]
mov byte [eax], 0x30
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
add ebp, 1
cmp ebp, dword [esp + 0x10]
jle 0x10024c40
mov esi, dword [esp + 0x10]
xor ebp, ebp
cmp esi, ebx
jle 0x10024cfa
lea esp, [esp]
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10024cc0
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10024cc0
cmp dword [0x100593b8], ebx
jg 0x10024cf1
mov ecx, dword [edi + 0x18]
mov edx, dword [esp + 0x10]
add dword [edi + 0x10], 1
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
lea ecx, [edx + ebp]
mov edx, dword [esp + 0x40]
lea ecx, [ecx + edx + 1]
mov byte [eax], 0x84
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
add ebp, 1
cmp ebp, dword [esp + 0x10]
jl 0x10024ca0
mov ecx, dword [edi + 0x1c]
mov eax, dword [edi + 0x20]
cmp ecx, eax
lea edx, [ecx + 1]
mov dword [esp + 0x28], ecx
mov dword [edi + 0x1c], edx
jl 0x10024de4
mov ecx, dword [edi + 0x24]
lea eax, [eax + eax + 0xa]
mov dword [edi + 0x20], eax
lea esi, [eax*4]
mov eax, dword [0x100593ac]
cmp eax, ebx
mov dword [esp + 0x2c], ecx
je 0x10024d3f
cmp dword [0x100593b8], ebx
jle 0x10024d3f
xor esi, esi
jmp 0x10024dd0
cmp ecx, ebx
jne 0x10024d97
xor ebp, ebp
cmp esi, ebx
jle 0x10024d93
cmp eax, ebx
je 0x10024d55
cmp dword [0x100593b8], ebx
jg 0x10024d93
push esi
call fcn.10041469
mov ebp, eax
add esp, 4
cmp ebp, ebx
jne 0x10024d88
cmp dword [0x100593ac], ebx
je 0x10024d74
cmp dword [0x100593b8], ebx
jg 0x10024d93
mov eax, 1
add dword [0x100593b8], eax
mov dword [0x100593ac], eax
mov esi, ebp
jmp 0x10024dc8
push esi
push ebx
push ebp
call fcn.10041850
add esp, 0xc
mov esi, ebp
jmp 0x10024dc8
push esi
push ecx
call fcn.1004152c
add esp, 8
cmp eax, ebx
jne 0x10024dc6
cmp dword [0x100593ac], ebx
je 0x10024db5
cmp dword [0x100593b8], ebx
jg 0x10024dc6
mov ecx, 1
add dword [0x100593b8], ecx
mov dword [0x100593ac], ecx
mov esi, eax
cmp esi, ebx
jne 0x10024ddd
mov ecx, dword [esp + 0x2c]
cmp ecx, ebx
je 0x10024ddd
push ecx
call fcn.100417c0
add esp, 4
mov ecx, dword [esp + 0x28]
mov dword [edi + 0x24], esi
mov eax, dword [edi + 0x24]
cmp eax, ebx
je 0x10024df2
mov dword [eax + ecx*4], 0xffffffff
mov esi, dword [edi + 0x10]
or ebp, 0xffffffff
sub ebp, ecx
cmp dword [edi + 0x14], esi
mov dword [esp + 0x28], ebp
jg 0x10024e1b
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10024e1b
cmp dword [0x100593b8], ebx
jg 0x10024e41
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], 1
mov edx, dword [esp + 0x14]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x7c
mov dword [eax + 4], edx
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
mov dword [esp + 0x2c], esi
jg 0x10024e65
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10024e65
cmp dword [0x100593b8], ebx
jg 0x10024e8f
mov edx, dword [edi + 0x18]
mov ecx, 1
add dword [edi + 0x10], ecx
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x40]
mov byte [eax], 0x2d
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
xor ebp, ebp
cmp dword [esp + 0x10], ebx
jle 0x10024f8a
jmp 0x10024ea0
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10024ec0
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10024ec0
cmp dword [0x100593b8], ebx
jg 0x10024ee6
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], 1
mov ecx, dword [esp + 0x14]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 3
mov dword [eax + 4], ecx
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10024f06
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10024f06
cmp dword [0x100593b8], ebx
jg 0x10024f37
mov eax, dword [edi + 0x18]
mov ecx, dword [esp + 0x10]
add dword [edi + 0x10], 1
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
lea edx, [ecx + ebp]
mov ecx, dword [esp + 0x40]
lea edx, [edx + ecx + 1]
mov byte [eax], 1
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10024f57
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10024f57
cmp dword [0x100593b8], ebx
jg 0x10024f7d
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x43
mov dword [eax + 4], 0x100
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
add ebp, 1
cmp ebp, dword [esp + 0x10]
jl 0x10024ea0
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10024faa
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10024faa
cmp dword [0x100593b8], ebx
jg 0x10024fd0
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], 1
mov ecx, dword [esp + 0x28]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x5e
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
xor ebp, ebp
cmp dword [esp + 0x10], ebx
jle 0x10025111
mov eax, dword [esp + 0x2c]
add eax, 3
mov dword [esp + 0x20], eax
lea eax, [eax + eax*4]
add eax, eax
add eax, eax
mov dword [esp + 0x18], eax
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10025016
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10025016
cmp dword [0x100593b8], ebx
jle 0x10025016
xor esi, esi
jmp 0x10025044
mov eax, dword [edi + 0x18]
mov ecx, 1
add dword [edi + 0x10], ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x40]
lea edx, [ecx + ebp + 1]
mov byte [eax], 0x2d
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov eax, dword [esp + 0x20]
cmp eax, ebx
jl 0x10025060
cmp dword [edi + 0x10], eax
jle 0x10025060
mov eax, dword [edi + 0x18]
cmp eax, ebx
je 0x10025060
mov ecx, dword [esp + 0x18]
mov dword [ecx + eax + 8], esi
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10025080
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10025080
cmp dword [0x100593b8], ebx
jg 0x100250a6
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], 1
mov ecx, dword [esp + 0x14]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 3
mov dword [eax + 4], ecx
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x100250c6
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100250c6
cmp dword [0x100593b8], ebx
jg 0x100250fa
mov eax, dword [edi + 0x18]
lea edx, [esi + esi*4]
mov esi, dword [esp + 0x40]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x10]
mov ecx, 1
add dword [edi + 0x10], ecx
add edx, ebp
lea edx, [edx + esi + 1]
mov byte [eax], 0x7b
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
add dword [esp + 0x18], 0x3c
add dword [esp + 0x20], 3
add ebp, 1
cmp ebp, dword [esp + 0x10]
jl 0x10024ff2
mov eax, dword [edi + 0x24]
cmp eax, ebx
je 0x1002512a
mov ecx, dword [esp + 0x28]
lea edx, [ecx*4 + 4]
mov ecx, dword [edi + 0x10]
sub eax, edx
mov dword [eax], ecx
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x1002514a
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x1002514a
cmp dword [0x100593b8], ebx
jg 0x10025174
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], 1
mov ecx, dword [esp + 0x14]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x2c]
mov byte [eax], 0x6d
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10025194
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10025194
cmp dword [0x100593b8], ebx
jg 0x100251c0
mov ecx, dword [edi + 0x18]
mov edx, dword [esp + 0x14]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ebp, 1
add dword [edi + 0x10], ebp
mov byte [eax], 0x1e
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
jmp 0x100251c5
mov ebp, 1
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x100251e5
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100251e5
cmp dword [0x100593b8], ebx
jg 0x1002520a
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], ebp
mov edx, dword [esp + 0x40]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 1
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10025230
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10025230
cmp dword [0x100593b8], ebx
jle 0x10025230
mov dword [esp + 0x28], ebx
jmp 0x10025255
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], ebp
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x56
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov dword [esp + 0x28], esi
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10025275
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10025275
cmp dword [0x100593b8], ebx
jg 0x1002529a
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], ebp
mov ecx, dword [esp + 0x3c]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x17
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov edx, dword [esp + 0x38]
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
mov ebp, dword [edx]
mov dword [esp + 0x20], ebp
jg 0x100252c8
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100252c8
cmp dword [0x100593b8], ebx
jle 0x100252c8
xor esi, esi
jmp 0x100252ea
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x58
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
mov eax, esi
je 0x100253be
cmp dword [0x100593ac], ebx
je 0x1002530b
cmp dword [0x100593b8], ebx
jg 0x100253be
cmp esi, ebx
jl 0x10025314
cmp esi, dword [edi + 0x10]
jl 0x10025320
mov eax, dword [edi + 0x10]
sub eax, 1
js 0x100253c7
lea edx, [eax + eax*4]
mov esi, dword [ecx + edx*4 + 0xc]
mov eax, dword [ecx + edx*4 + 0x10]
lea ebp, [ecx + edx*4]
call fcn.1000cd60
cmp dword [esp + 0x20], ebx
mov dword [ebp + 0xc], ebx
jne 0x10025347
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x10], ebx
jmp 0x100253c7
mov eax, dword [esp + 0x20]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10025350
sub eax, edx
mov dword [esp + 0x2c], eax
add eax, 1
xor esi, esi
cmp eax, ebx
jle 0x100253b2
cmp dword [0x100593ac], ebx
je 0x10025378
cmp dword [0x100593b8], ebx
jg 0x100253b2
push eax
call fcn.10041469
mov esi, eax
add esp, 4
cmp esi, ebx
jne 0x10025398
call fcn.10008ea0
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x10], 0xffffffff
jmp 0x100253c7
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
push eax
push ecx
push esi
call fcn.10041060
mov edx, dword [esp + 0x38]
add esp, 0xc
mov byte [esi + edx], bl
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x10], 0xffffffff
jmp 0x100253c7
mov esi, ebp
xor eax, eax
call fcn.1000cd60
mov eax, dword [esp + 0x1c]
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
mov ebp, dword [eax]
mov dword [esp + 0x20], ebp
jg 0x100253f5
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100253f5
cmp dword [0x100593b8], ebx
jle 0x100253f5
xor esi, esi
jmp 0x10025417
mov edx, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov byte [eax], 0x58
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
mov eax, esi
je 0x100254ee
cmp dword [0x100593ac], ebx
je 0x10025438
cmp dword [0x100593b8], ebx
jg 0x100254ee
cmp esi, ebx
jl 0x10025441
cmp esi, dword [edi + 0x10]
jl 0x1002544d
mov eax, dword [edi + 0x10]
sub eax, 1
js 0x100254f7
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*4 + 0xc]
lea ebp, [ecx + eax*4]
mov eax, dword [ebp + 0x10]
call fcn.1000cd60
cmp dword [esp + 0x20], ebx
mov dword [ebp + 0xc], ebx
jne 0x10025473
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x10], ebx
jmp 0x100254f7
mov eax, dword [esp + 0x20]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10025480
sub eax, edx
mov dword [esp + 0x2c], eax
add eax, 1
xor esi, esi
cmp eax, ebx
jle 0x100254e2
cmp dword [0x100593ac], ebx
je 0x100254a8
cmp dword [0x100593b8], ebx
jg 0x100254e2
push eax
call fcn.10041469
mov esi, eax
add esp, 4
cmp esi, ebx
jne 0x100254c8
call fcn.10008ea0
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x10], 0xffffffff
jmp 0x100254f7
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
push ecx
push edx
push esi
call fcn.10041060
mov eax, dword [esp + 0x38]
add esp, 0xc
mov byte [esi + eax], bl
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x10], 0xffffffff
jmp 0x100254f7
mov esi, ebp
xor eax, eax
call fcn.1000cd60
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10025517
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10025517
cmp dword [0x100593b8], ebx
jg 0x10025543
mov edx, dword [edi + 0x18]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x40]
mov ebp, 1
add dword [edi + 0x10], ebp
mov byte [eax], 1
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
jmp 0x10025548
mov ebp, 1
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x1002556c
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x1002556c
cmp dword [0x100593b8], ebx
jle 0x1002556c
xor esi, esi
jmp 0x1002558d
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], ebp
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x58
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
mov eax, esi
je 0x10025623
cmp dword [0x100593ac], ebx
je 0x100255aa
cmp dword [0x100593b8], ebx
jg 0x10025623
cmp esi, ebx
jl 0x100255b3
cmp esi, dword [edi + 0x10]
jl 0x100255ba
mov eax, dword [edi + 0x10]
sub eax, ebp
js 0x1002562f
lea edx, [eax + eax*4]
mov esi, dword [ecx + edx*4 + 0xc]
mov eax, dword [ecx + edx*4 + 0x10]
lea ebp, [ecx + edx*4]
call fcn.1000cd60
xor ecx, ecx
cmp dword [0x100593ac], ebx
mov dword [ebp + 0xc], ebx
je 0x100255e2
cmp dword [0x100593b8], ebx
jg 0x10025612
push 2
call fcn.10041469
mov ecx, eax
add esp, 4
cmp ecx, ebx
jne 0x10025608
call fcn.10008ea0
mov dword [ebp + 0xc], ecx
mov dword [ebp + 0x10], 0xffffffff
mov ebp, 1
jmp 0x1002562f
mov al, byte [0x10053b50]
mov byte [ecx], al
mov byte [ecx + 1], bl
mov dword [ebp + 0xc], ecx
mov dword [ebp + 0x10], 0xffffffff
mov ebp, 1
jmp 0x1002562f
mov esi, 0x10053b50
xor eax, eax
call fcn.1000cd60
cmp dword [esp + 0x10], ebx
mov dword [esp + 0x18], ebx
jle 0x100258c2
lea ecx, [ecx]
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10025660
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10025660
cmp dword [0x100593b8], ebx
jg 0x10025685
mov edx, dword [edi + 0x18]
add dword [edi + 0x10], ebp
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x40]
mov byte [eax], 1
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x100256a5
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100256a5
cmp dword [0x100593b8], ebx
jg 0x100256d2
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], ebp
mov ecx, dword [esp + 0x18]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x40]
lea ecx, [ecx + edx + 1]
mov byte [eax], 1
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x100256f2
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100256f2
cmp dword [0x100593b8], ebx
jg 0x10025713
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], ebp
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x4e
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10025733
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10025733
cmp dword [0x100593b8], ebx
jg 0x10025758
mov edx, dword [edi + 0x18]
add dword [edi + 0x10], ebp
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov byte [eax], 0x27
mov dword [eax + 4], 0xffffffff
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10025778
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10025778
cmp dword [0x100593b8], ebx
jg 0x100257a5
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], ebp
mov edx, dword [esp + 0x18]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x40]
lea edx, [edx + ecx + 1]
mov byte [eax], 1
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x100257c5
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100257c5
cmp dword [0x100593b8], ebx
jg 0x100257e6
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], ebp
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x51
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10025806
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10025806
cmp dword [0x100593b8], ebx
jg 0x10025827
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], ebp
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x8d
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov eax, dword [esp + 0x10]
mov esi, dword [edi + 0x10]
add eax, 0xffffffff
cmp dword [esp + 0x18], eax
jne 0x10025870
cmp dword [edi + 0x14], esi
jg 0x10025854
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10025854
cmp dword [0x100593b8], ebx
jg 0x100258ae
mov edx, dword [edi + 0x18]
add dword [edi + 0x10], ebp
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x10]
lea edx, [ecx + ecx - 1]
mov byte [eax], 0x53
mov dword [eax + 4], edx
jmp 0x1002589f
cmp dword [edi + 0x14], esi
jg 0x1002588d
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x1002588d
cmp dword [0x100593b8], ebx
jg 0x100258ae
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], ebp
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x5d
mov dword [eax + 4], ebp
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov eax, dword [esp + 0x18]
add eax, ebp
cmp eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
jl 0x10025640
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x100258e6
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100258e6
cmp dword [0x100593b8], ebx
jle 0x100258e6
xor esi, esi
jmp 0x1002590b
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], ebp
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x5a
mov dword [eax + 4], 3
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
mov eax, esi
je 0x100259ca
cmp dword [0x100593ac], ebx
je 0x1002592c
cmp dword [0x100593b8], ebx
jg 0x100259ca
cmp esi, ebx
jl 0x10025935
cmp esi, dword [edi + 0x10]
jl 0x10025940
mov eax, dword [edi + 0x10]
sub eax, ebp
js 0x100259d6
lea edx, [eax + eax*4]
mov esi, dword [ecx + edx*4 + 0xc]
mov eax, dword [ecx + edx*4 + 0x10]
lea ebp, [ecx + edx*4]
call fcn.1000cd60
mov esi, dword [0x100593ac]
xor eax, eax
cmp esi, ebx
mov dword [ebp + 0xc], ebx
je 0x1002596a
cmp dword [0x100593b8], ebx
jg 0x100259b9
push 4
call fcn.10041469
add esp, 4
cmp eax, ebx
jne 0x100259a3
cmp esi, ebx
je 0x10025984
cmp dword [0x100593b8], ebx
jg 0x100259b9
mov ecx, 1
add dword [0x100593b8], ecx
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x10], 0xffffffff
mov dword [0x100593ac], ecx
mov ebp, ecx
jmp 0x100259d6
mov cx, word [0x100542fc]
mov word [eax], cx
mov dl, byte [0x100542fe]
mov byte [eax + 2], dl
mov byte [eax + 3], bl
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x10], 0xffffffff
mov ebp, 1
jmp 0x100259d6
mov esi, 0x100542fc
xor eax, eax
call fcn.1000cd60
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x100259f6
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100259f6
cmp dword [0x100593b8], ebx
jg 0x10025a1f
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], ebp
mov edx, dword [esp + 0x3c]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x70
mov dword [eax + 4], edx
mov dword [eax + 8], 8
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov edx, dword [esp + 0x28]
cmp edx, ebx
jl 0x10025a3c
mov ecx, dword [edi + 0x10]
cmp ecx, edx
jle 0x10025a3c
mov eax, dword [edi + 0x18]
cmp eax, ebx
je 0x10025a3c
lea edx, [edx + edx*4]
mov dword [eax + edx*4 + 8], ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x20]
cmp eax, ebx
mov dword [esp + 0x1c], eax
jne 0x10024bc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret