Function at 0x4564b0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x88
mov ecx, dword [esp + 0x8c]
push ebx
xor ebx, ebx
xor eax, eax
cmp dword [ecx + 0x40], ebx
push ebp
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov eax, dword [ecx]
push esi
push edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x50], eax
jne 0x457ec7
mov ecx, eax
cmp byte [ecx + 0x1e], bl
jne 0x457ec7
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
push edx
call fcn.00450890
add esp, 4
cmp eax, ebx
mov dword [esp + 0x10], eax
je 0x457ec7
mov ebp, dword [esp + 0x9c]
mov ecx, dword [ebp]
mov edi, eax
mov esi, dword [edi + 0x44]
call fcn.00432630
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xa4]
push ebx
push eax
push 0x6a
push ebp
mov eax, edi
call fcn.00434250
xor ecx, ecx
cmp dword [edi + 0x1c], ebx
mov esi, eax
setne cl
push edi
push ebp
mov dword [esp + 0x70], esi
mov dword [esp + 0x80], ecx
call fcn.004270d0
add esp, 0x18
test eax, eax
jne 0x457ec7
xor edx, edx
cmp esi, ebx
setne dl
mov ecx, edi
mov eax, ebp
push edx
call fcn.004508f0
add esp, 4
test eax, eax
jne 0x457ec7
mov esi, dword [esp + 0x50]
mov eax, edi
mov ecx, dword [eax + 0xc]
add ecx, ecx
add ecx, ecx
call fcn.0040f650
cmp eax, ebx
mov dword [esp + 0x30], eax
je 0x457ec7
mov esi, edi
xor eax, eax
cmp dword [esi + 0xc], ebx
jle 0x4565cf
mov ecx, dword [esp + 0x30]
nop
mov dword [ecx + eax*4], 0xffffffff
add eax, 1
cmp eax, dword [esi + 0xc]
jl 0x4565c0
mov edi, dword [esp + 0xa0]
mov edx, ebp
mov eax, dword [edx + 0x44]
mov dword [edi + 0x20], eax
add dword [edx + 0x44], 1
mov ecx, dword [edx + 0x44]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x14]
cmp eax, ebx
je 0x4565fd
add ecx, 1
mov dword [edx + 0x44], ecx
mov eax, dword [eax + 0x20]
cmp eax, ebx
jne 0x4565f0
mov ecx, dword [esp + 0xa4]
cmp dword [ecx], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], edi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x18], ebx
jle 0x456852
mov dword [esp + 0x14], ebx
jmp 0x456660
mov edx, dword [esp + 0xa4]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + ecx]
push edx
lea edi, [esp + 0x78]
call fcn.00450780
add esp, 4
test eax, eax
jne 0x457ec7
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xc]
xor ebp, ebp
cmp ecx, ebx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x3c], ecx
jle 0x456749
mov ecx, dword [esp + 0xa4]
mov edx, dword [ecx + 0xc]
mov ecx, dword [esp + 0x14]
mov esi, dword [eax + 0x10]
add ecx, edx
mov edx, dword [ecx + 4]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x44], edx
mov ecx, dword [esi]
mov al, byte [ecx]
cmp al, bl
mov edi, dword [esp + 0x44]
je 0x4566f1
lea esp, [esp]
movzx edx, byte [edi]
movzx eax, al
mov al, byte [eax + 0x4c7848]
cmp al, byte [edx + 0x4c7848]
jne 0x4566f1
mov al, byte [ecx + 1]
add ecx, 1
add edi, 1
cmp al, bl
jne 0x4566d0
movzx ecx, byte [ecx]
movzx eax, byte [edi]
movzx edx, byte [ecx + 0x4c7848]
movzx ecx, byte [eax + 0x4c7848]
sub edx, ecx
je 0x45671f
add ebp, 1
add esi, 0x18
cmp ebp, dword [esp + 0x3c]
jl 0x4566bd
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], ebp
jmp 0x456749
mov eax, dword [esp + 0x10]
cmp ebp, dword [eax + 8]
mov dword [esp + 0x34], ebp
jne 0x45673e
mov edx, dword [esp + 0x24]
mov ecx, dword [edx]
mov dword [esp + 0x40], 1
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
mov dword [ecx + ebp*4], edx
cmp ebp, dword [eax + 0xc]
jl 0x4567e4
mov edx, dword [esp + 0xa4]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x14]
mov edi, dword [eax + ecx + 4]
lea ebp, [eax + ecx]
mov cl, byte [edi]
cmp cl, bl
mov eax, edi
mov esi, str._ROWID_
je 0x456795
movzx edx, cl
movzx ecx, byte [esi]
mov dl, byte [edx + 0x4c7848]
cmp dl, byte [ecx + 0x4c7848]
jne 0x456795
mov cl, byte [eax + 1]
add eax, 1
add esi, 1
cmp cl, bl
jne 0x456774
movzx ecx, byte [esi]
movzx eax, byte [eax]
movzx edx, byte [ecx + 0x4c7848]
movzx ecx, byte [eax + 0x4c7848]
sub ecx, edx
je 0x4567d1
mov edx, str.ROWID
mov ecx, edi
call fcn.0040fb60
test eax, eax
je 0x4567d1
mov edx, 0x4cdcf0
mov ecx, edi
call fcn.0040fb60
test eax, eax
jne 0x456881
mov edx, dword [ebp]
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x40], 1
mov dword [esp + 0x48], edx
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 8]
mov eax, dword [esp + 0x1c]
shl eax, 4
mov eax, dword [eax + edx]
push eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x10]
lea ecx, [ebp + ebp*2]
mov ecx, dword [edx + ecx*8]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0xa0]
push ecx
push edx
push 0x17
call fcn.004416a0
add esp, 0x10
cmp eax, 1
je 0x457ec7
cmp eax, 2
jne 0x456833
mov eax, dword [esp + 0x30]
mov dword [eax + ebp*4], 0xffffffff
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xa4]
add dword [esp + 0x14], 0x14
add eax, 1
cmp eax, dword [ecx]
mov dword [esp + 0x18], eax
jl 0x456660
mov edi, dword [esp + 0x9c]
mov eax, dword [edi]
test dword [eax + 0xc], 0x400000
mov ebp, dword [esp + 0x30]
je 0x4568b0
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x10]
push ecx
push ebp
push edx
call fcn.00453080
add esp, 0xc
mov dword [esp + 0x34], eax
jmp 0x4568b4
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x9c]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + edx*4 + 4]
push edx
push str.no_such_column:__s
call fcn.0040f9e0
add esp, 8
jmp 0x457ec7
mov dword [esp + 0x34], ebx
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
xor ecx, ecx
cmp eax, ebx
je 0x4569a4
mov eax, dword [eax + 0x20]
add ecx, 1
cmp eax, ebx
jne 0x4568c5
cmp ecx, ebx
jle 0x4569a4
mov esi, dword [esp + 0x50]
cmp byte [esi + 0x1e], bl
lea edi, [ecx*4]
je 0x4568f0
mov dword [esp + 0x38], ebx
jmp 0x457ec7
cmp byte [esi + 0xe2], bl
je 0x456932
movzx ecx, word [esi + 0xe0]
cmp edi, ecx
jg 0x456932
mov eax, dword [esi + 0xec]
cmp eax, ebx
je 0x456932
mov edx, dword [eax]
add dword [esi + 0xe4], 1
mov ecx, dword [esi + 0xe4]
cmp ecx, dword [esi + 0xe8]
mov dword [esi + 0xec], edx
jle 0x45698d
mov dword [esi + 0xe8], ecx
jmp 0x45698d
lea eax, [edi - 1]
cmp eax, 0x7ffffefe
ja 0x4569fb
cmp dword [0x4df728], ebx
je 0x4569ef
mov eax, dword [0x4e3da0]
cmp eax, ebx
je 0x45695f
push eax
call dword [0x4df770]
add esp, 4
lea ecx, [esp + 0x24]
push ecx
mov eax, edi
call fcn.0040f050
mov eax, dword [0x4e3da0]
add esp, 4
cmp eax, ebx
je 0x456981
push eax
call dword [0x4df778]
add esp, 4
mov eax, dword [esp + 0x24]
cmp eax, ebx
jne 0x45698d
mov byte [esi + 0x1e], 1
cmp eax, ebx
mov dword [esp + 0x38], eax
je 0x457ec7
mov edi, dword [esp + 0x9c]
mov ebp, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 0x14]
cmp esi, ebx
je 0x456a21
mov eax, dword [esp + 0x38]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x40], ebx
jne 0x456a06
mov edx, dword [esi + 4]
xor ecx, ecx
xor eax, eax
cmp edx, ebx
mov dword [esp + 0x44], ecx
jle 0x456a0d
mov ecx, dword [esi + 8]
nop
mov edi, dword [ecx]
cmp dword [ebp + edi*4], ebx
jge 0x4569ff
add eax, 1
add ecx, 4
cmp eax, edx
jl 0x4569d0
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x9c]
jmp 0x456a0d
push edi
call dword [0x4df740]
add esp, 4
jmp 0x456985
xor eax, eax
jmp 0x456989
mov edi, dword [esp + 0x9c]
add dword [edi + 0x48], 1
mov ecx, dword [edi + 0x48]
mov eax, dword [esp + 0x24]
mov dword [eax], ecx
mov esi, dword [esi + 0x20]
add eax, 4
cmp esi, ebx
mov dword [esp + 0x24], eax
jne 0x4569b7
mov edi, dword [esp + 0x9c]
mov ebp, dword [edi + 0xc]
cmp ebp, ebx
jne 0x456b65
mov ebp, dword [edi]
cmp ebp, ebx
je 0x456a84
cmp byte [ebp + 0x1e], bl
jne 0x456bfd
cmp byte [ebp + 0xe2], bl
je 0x456a84
cmp word [ebp + 0xe0], 0xe8
jb 0x456a84
mov esi, dword [ebp + 0xec]
cmp esi, ebx
je 0x456a84
mov ecx, dword [esi]
add dword [ebp + 0xe4], 1
mov eax, dword [ebp + 0xe4]
cmp eax, dword [ebp + 0xe8]
mov dword [ebp + 0xec], ecx
jle 0x456ada
mov dword [ebp + 0xe8], eax
jmp 0x456ada
cmp dword [0x4df728], ebx
je 0x456bea
mov eax, dword [0x4e3da0]
cmp eax, ebx
je 0x456aa3
push eax
call dword [0x4df770]
add esp, 4
lea edx, [esp + 0x24]
push edx
mov eax, 0xe8
call fcn.0040f050
mov eax, dword [0x4e3da0]
add esp, 4
cmp eax, ebx
je 0x456ac8
push eax
call dword [0x4df778]
add esp, 4
mov eax, dword [esp + 0x24]
cmp eax, ebx
jne 0x456ad8
cmp ebp, ebx
je 0x456ad8
mov byte [ebp + 0x1e], 1
mov esi, eax
cmp esi, ebx
je 0x456bfd
push 0xe8
push ebx
push esi
call fcn.004858f0
mov dword [esi], ebp
mov eax, dword [ebp + 0x88]
add esp, 0xc
cmp eax, ebx
je 0x456b00
mov dword [eax + 4], esi
mov eax, dword [ebp + 0x88]
mov dword [esi + 8], eax
mov dword [esi + 4], ebx
mov dword [ebp + 0x88], esi
mov dword [esi + 0x50], 0x26bceaa5
mov ebp, esi
cmp ebp, ebx
mov dword [edi + 0xc], ebp
je 0x457ec7
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x456b39
mov edi, ebp
call fcn.00429d30
test eax, eax
jne 0x456b5e
mov edx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov byte [eax], 0x84
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov edi, dword [esp + 0x9c]
cmp byte [edi + 0x13], bl
jne 0x456b6e
mov byte [ebp + 0x6d], 1
mov esi, dword [edi + 0x1a8]
cmp esi, ebx
jne 0x456b7a
mov esi, edi
mov eax, dword [esp + 0x1c]
push eax
mov eax, edi
call fcn.00429650
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
or byte [esi + 0x158], 1
mov edx, 1
shl edx, cl
add esp, 4
or dword [esi + 0x150], edx
test byte [eax + 0x22], 0x10
je 0x456c04
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0xac]
push ecx
push edx
push eax
mov eax, dword [esp + 0xb4]
push eax
push edi
call fcn.00458120
add esp, 0x1c
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xa0], ebx
jmp 0x457ec7
push 0xe8
call dword [0x4df740]
add esp, 4
jmp 0x456acc
xor ebp, ebp
jmp 0x456b1b
add dword [edi + 0x48], 1
mov ecx, dword [edi + 0x48]
mov edx, dword [esp + 0x58]
cmp edx, ebx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x28], ecx
jne 0x456c21
cmp dword [esp + 0x34], ebx
je 0x456c30
lea esi, [ecx + 1]
mov dword [esp + 0x60], esi
mov esi, dword [eax + 0xc]
add esi, ecx
mov dword [edi + 0x48], esi
cmp dword [esp + 0x40], ebx
jne 0x456c40
cmp edx, ebx
jne 0x456c40
cmp dword [esp + 0x34], ebx
je 0x456c4b
add dword [edi + 0x48], 1
mov ecx, dword [edi + 0x48]
mov dword [esp + 0x4c], ecx
cmp dword [esp + 0x68], ebx
mov ecx, dword [edi + 0x48]
lea edx, [ecx + 1]
mov dword [esp + 0x44], edx
mov edx, dword [eax + 0xc]
lea ecx, [ecx + edx + 1]
mov dword [edi + 0x48], ecx
je 0x456c96
mov edx, dword [edi + 0x1f8]
mov ecx, dword [eax + 4]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x20]
push edx
mov dword [edi + 0x1f8], ecx
mov ecx, dword [esp + 0xac]
push ecx
push eax
push edi
mov dword [esp + 0x80], edi
call fcn.00450980
add esp, 0x10
mov edx, dword [esp + 0xa8]
push edx
lea edi, [esp + 0x78]
call fcn.00450780
add esp, 4
test eax, eax
jne 0x457ec7
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x456cc5
mov edi, ebp
call fcn.00429d30
test eax, eax
jne 0x456cee
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x28]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0xa
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x9c]
push 4
push ebx
push eax
push ecx
push edx
call fcn.0045c8e0
add esp, 0x14
cmp eax, ebx
mov dword [esp + 0x14], eax
je 0x457ec7
movzx eax, byte [eax + 6]
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
mov dword [esp + 0x24], eax
jg 0x456d38
mov edi, ebp
call fcn.00429d30
test eax, eax
jne 0x456d65
mov edx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov byte [eax], 0x3c
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
cmp dword [esp + 0x24], ebx
mov esi, dword [esp + 0x9c]
jne 0x456dc5
add dword [esi + 0x48], 1
mov eax, dword [esi + 0x48]
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x3c], eax
jg 0x456d98
mov edi, ebp
call fcn.00429d30
test eax, eax
jne 0x456dc5
mov eax, dword [esp + 0x3c]
mov edx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x28]
mov byte [eax], 0x68
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [esp + 0x14]
push eax
call fcn.0045d3b0
mov ecx, dword [esp + 0x54]
add esp, 4
test byte [ecx + 0xc], 0x80
je 0x456e33
cmp dword [esi + 0x1ac], ebx
jne 0x456e33
add dword [esi + 0x48], 1
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov edx, dword [esi + 0x48]
mov dword [esp + 0x64], edx
mov dword [esp + 0x3c], eax
jg 0x456e0a
mov edi, ebp
call fcn.00429d30
test eax, eax
jne 0x456e33
mov eax, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x64]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 7
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
cmp dword [esp + 0x68], ebx
jne 0x456fb1
cmp dword [esp + 0x24], ebx
jne 0x456e60
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
push 0x27
push eax
push ecx
push esi
mov esi, dword [esp + 0x20]
mov eax, esi
call fcn.0044b990
add esp, 0x10
jmp 0x456e64
mov esi, dword [esp + 0x10]
mov ecx, 5
cmp dword [esp + 0xac], ecx
je 0x456e8e
mov eax, dword [esi + 0x14]
cmp eax, ebx
mov dword [esp + 0x5c], ebx
je 0x456e96
lea ecx, [ecx]
cmp byte [eax + 0x18], cl
je 0x456e8e
mov eax, dword [eax + 0x20]
cmp eax, ebx
jne 0x456e80
jmp 0x456e96
mov dword [esp + 0x5c], 1
mov eax, dword [esi + 0x14]
cmp eax, ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], eax
je 0x456fb1
lea esp, [esp]
cmp dword [esp + 0x5c], ebx
jne 0x456ec7
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
cmp dword [edx + eax*4], ebx
jle 0x456f99
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x9c]
push esi
push ecx
call fcn.00429b00
mov edx, dword [esi + 0x14]
mov esi, dword [ebp + 0xc]
add esp, 8
cmp dword [ebp + 0x10], esi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], edx
jg 0x456f01
mov edi, ebp
call fcn.00429d30
test eax, eax
je 0x456f01
mov esi, 1
jmp 0x456f3a
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x20]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x18]
lea edx, [edx + ecx + 1]
mov ecx, dword [esp + 0x2c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x1c]
mov byte [eax], 0x27
mov byte [eax + 3], bl
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov edx, dword [ebp + 0x14]
cmp edx, ebx
mov ecx, dword [ebp]
mov eax, esi
je 0x456f89
cmp byte [ecx + 0x1e], bl
jne 0x456f89
cmp esi, ebx
jge 0x456f55
mov eax, dword [ebp + 0xc]
sub eax, 1
lea eax, [eax + eax*4]
lea esi, [edx + eax*4]
mov edx, dword [esi + 0x10]
movsx eax, byte [esi + 1]
push edx
push eax
push ecx
call fcn.0042a1c0
mov eax, dword [esp + 0x48]
add esp, 0xc
cmp eax, ebx
mov dword [esi + 0x10], ebx
jne 0x456f80
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x456f99
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xfa
jmp 0x456f99
mov edx, dword [esp + 0x3c]
push edx
push 0xfffffffffffffff0
push ecx
call fcn.0042a1c0
add esp, 0xc
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x20]
add dword [esp + 0x18], 1
cmp eax, ebx
mov dword [esp + 0x14], eax
jne 0x456eb0
cmp dword [esp + 0x24], ebx
mov esi, dword [ebp + 0xc]
je 0x45705f
cmp dword [ebp + 0x10], esi
jg 0x456fd8
mov edi, ebp
call fcn.00429d30
test eax, eax
je 0x456fd8
mov dword [esp + 0x3c], 1
jmp 0x457005
mov edx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x28]
mov byte [eax], 0x4a
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov dword [esp + 0x3c], esi
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x45701f
mov edi, ebp
call fcn.00429d30
test eax, eax
je 0x45701f
mov esi, 1
jmp 0x457044
mov eax, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 1
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x3c]
cmp eax, ecx
mov dword [esp + 0x1c], esi
jle 0x4570aa
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
jmp 0x4570aa
cmp dword [ebp + 0x10], esi
jg 0x457079
mov edi, ebp
call fcn.00429d30
test eax, eax
je 0x457079
mov dword [esp + 0x1c], 1
jmp 0x4570aa
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x54]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x28]
mov byte [eax], 0x69
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov dword [esp + 0x1c], esi
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4570bd
mov edi, ebp
call fcn.00429d30
test eax, eax
jne 0x4570ee
mov eax, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov ecx, dword [esp + 0x20]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x28]
mov byte [eax], 0x33
mov byte [eax + 3], bl
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
cmp dword [esp + 0x40], ebx
je 0x45719b
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0x9c]
push esi
push edx
push edi
call fcn.00448fb0
add esp, 0xc
cmp eax, esi
mov dword [esp + 0x2c], eax
je 0x45715f
mov edi, dword [edi + 0xc]
cmp edi, ebx
je 0x45715f
mov esi, dword [edi + 0xc]
cmp dword [edi + 0x10], esi
jg 0x457132
call fcn.00429d30
test eax, eax
jne 0x45715f
mov ecx, dword [edi + 0x14]
add dword [edi + 0xc], 1
mov edx, dword [esp + 0x2c]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x4c]
mov byte [eax], 0xf
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [edi + 0x6e], bl
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x457172
mov edi, ebp
call fcn.00429d30
test eax, eax
jne 0x45719b
mov eax, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov ecx, dword [esp + 0x4c]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x15
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
cmp dword [esp + 0x34], ebx
jne 0x4571ef
cmp dword [esp + 0x58], ebx
je 0x4573f7
mov dword [esp + 0x48], ebx
mov ecx, dword [esp + 0xac]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0x9c]
push ecx
push edi
push edx
push eax
mov eax, dword [esp + 0x68]
call fcn.00434ac0
mov edx, dword [esp + 0x58]
or edx, eax
add esp, 0x10
xor esi, esi
cmp dword [edi + 0xc], ebx
mov dword [esp + 0x48], edx
jle 0x45734f
jmp 0x457214
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x9c]
push edx
push eax
call fcn.00452f20
add esp, 8
mov dword [esp + 0x48], eax
jmp 0x4571af
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
cmp dword [ecx + esi*4], ebx
jl 0x45727f
cmp edx, 0xffffffff
je 0x45727f
mov eax, 1
mov ecx, esi
shl eax, cl
test edx, eax
jne 0x45727f
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x2c], eax
jg 0x45724e
mov edi, ebp
call fcn.00429d30
test eax, eax
jne 0x45733f
mov eax, dword [esp + 0x2c]
mov edx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x60]
lea edx, [esi + ecx]
mov byte [eax], 0xa
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
jmp 0x45733f
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
cmp ecx, eax
mov dword [esp + 0x2c], eax
jg 0x4572f7
cmp ecx, ebx
lea eax, [ecx + ecx]
jne 0x457299
mov eax, 0x33
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp]
lea eax, [eax + eax*4]
add eax, eax
add eax, eax
push eax
push ecx
push edx
call fcn.0040f6c0
mov edi, eax
add esp, 0xc
cmp edi, ebx
je 0x457327
mov eax, dword [ebp]
cmp eax, ebx
je 0x4572d7
cmp edi, dword [eax + 0xf0]
jb 0x4572d7
cmp edi, dword [eax + 0xf4]
jae 0x4572d7
movzx ecx, word [eax + 0xe0]
jmp 0x4572e3
push edi
call dword [0x4df74c]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x2c]
shr edx, 4
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], edi
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x60]
mov dword [eax + 4], edx
lea edx, [esi + ecx]
mov byte [eax], 0x1c
mov byte [eax + 3], bl
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
lea ecx, [esi + eax]
push ecx
push edx
push ebp
mov eax, esi
call fcn.004563f0
add esp, 0xc
mov eax, dword [esp + 0x10]
add esi, 1
cmp esi, dword [eax + 0xc]
jl 0x457210
cmp dword [esp + 0x40], ebx
jne 0x4573f7
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
cmp eax, edi
jg 0x4573ca
cmp eax, ebx
je 0x45736b
add eax, eax
jmp 0x457370
mov eax, 0x33
mov edx, dword [ebp + 0x14]
lea ecx, [eax + eax*4]
mov eax, dword [ebp]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.0040f6c0
mov esi, eax
add esp, 0xc
cmp esi, ebx
je 0x4573f7
mov eax, dword [ebp]
cmp eax, ebx
je 0x4573ae
cmp esi, dword [eax + 0xf0]
jb 0x4573ae
cmp esi, dword [eax + 0xf4]
jae 0x4573ae
movzx ecx, word [eax + 0xe0]
jmp 0x4573ba
push esi
call dword [0x4df74c]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], esi
mov edx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea ecx, [edi + edi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x4c]
mov byte [eax], 0xe
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xc], ebx
mov dword [esp + 0x18], ebx
jle 0x457625
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
cmp eax, dword [edx + 8]
jne 0x4574c4
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
cmp eax, esi
jg 0x457496
cmp eax, ebx
je 0x457433
add eax, eax
jmp 0x457438
mov eax, 0x33
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp]
lea eax, [eax + eax*4]
add eax, eax
add eax, eax
push eax
push ecx
push edx
call fcn.0040f6c0
mov edi, eax
add esp, 0xc
cmp edi, ebx
je 0x457608
mov eax, dword [ebp]
cmp eax, ebx
je 0x45747a
cmp edi, dword [eax + 0xf0]
jb 0x45747a
cmp edi, dword [eax + 0xf4]
jae 0x45747a
movzx ecx, word [eax + 0xe0]
jmp 0x457486
push edi
call dword [0x4df74c]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], edi
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x14]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0xa
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
jmp 0x457608
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + eax*4]
cmp eax, ebx
jge 0x45758e
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
cmp eax, esi
jg 0x457544
cmp eax, ebx
je 0x4574e5
add eax, eax
jmp 0x4574ea
mov eax, 0x33
mov ecx, dword [ebp]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x14]
add edx, edx
add edx, edx
push edx
push eax
push ecx
call fcn.0040f6c0
mov edi, eax
add esp, 0xc
cmp edi, ebx
je 0x457575
mov eax, dword [ebp]
cmp eax, ebx
je 0x457528
cmp edi, dword [eax + 0xf0]
jb 0x457528
cmp edi, dword [eax + 0xf4]
jae 0x457528
movzx ecx, word [eax + 0xe0]
jmp 0x457534
push edi
call dword [0x4df74c]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], edi
mov eax, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov ecx, dword [esp + 0x20]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x18]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x14]
mov byte [eax], 0x1c
mov byte [eax + 3], bl
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
mov eax, dword [esp + 0x20]
push ebp
call fcn.004563f0
add esp, 0xc
jmp 0x457608
mov edx, dword [esp + 0xa4]
mov esi, dword [esp + 0x14]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x9c]
push esi
push eax
push ecx
call fcn.00448fb0
add esp, 0xc
cmp eax, esi
mov dword [esp + 0x2c], eax
je 0x457608
mov edx, dword [esp + 0x9c]
mov edi, dword [edx + 0xc]
cmp edi, ebx
je 0x457608
mov esi, dword [edi + 0xc]
cmp dword [edi + 0x10], esi
jg 0x4575db
call fcn.00429d30
test eax, eax
jne 0x457608
mov ecx, dword [edi + 0x14]
add dword [edi + 0xc], 1
mov edx, dword [esp + 0x2c]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x14]
mov byte [eax], 0xf
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [edi + 0x6e], bl
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
add dword [esp + 0x14], 1
add eax, 1
cmp eax, dword [edx + 0xc]
mov dword [esp + 0x18], eax
jl 0x457410
cmp dword [esp + 0x58], ebx
je 0x4577c9
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xc]
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
cmp eax, edi
mov dword [esp + 0x2c], ecx
jg 0x4576ab
cmp eax, ebx
je 0x45764c
add eax, eax
jmp 0x457651
mov eax, 0x33
mov ecx, dword [ebp]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x14]
add edx, edx
add edx, edx
push edx
push eax
push ecx
call fcn.0040f6c0
mov esi, eax
add esp, 0xc
cmp esi, ebx
je 0x4576d8
mov eax, dword [ebp]
cmp eax, ebx
je 0x45768f
cmp esi, dword [eax + 0xf0]
jb 0x45768f
cmp esi, dword [eax + 0xf4]
jae 0x45768f
movzx ecx, word [eax + 0xe0]
jmp 0x45769b
push esi
call dword [0x4df74c]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], esi
mov eax, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov ecx, dword [esp + 0x44]
lea edx, [edi + edi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x2c]
mov byte [eax], 0x1d
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov edi, dword [esp + 0x10]
push ebp
mov eax, edi
call fcn.0044bac0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xb0]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0xa8]
add esp, 4
push eax
mov eax, dword [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0xa4]
push esi
push edi
push 1
push edx
push 0x6a
push eax
push ecx
call fcn.00434a50
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
add esp, 0x24
cmp eax, edi
jg 0x45779a
cmp eax, ebx
je 0x45772d
add eax, eax
jmp 0x457732
mov eax, 0x33
mov ecx, dword [ebp]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x14]
add edx, edx
add edx, edx
push edx
push eax
push ecx
call fcn.0040f6c0
add esp, 0xc
cmp eax, ebx
mov dword [esp + 0x54], eax
je 0x4577cd
mov eax, dword [ebp]
cmp eax, ebx
je 0x457776
mov ecx, dword [esp + 0x54]
cmp ecx, dword [eax + 0xf0]
jb 0x457776
cmp ecx, dword [eax + 0xf4]
jae 0x457776
movzx edx, word [eax + 0xe0]
jmp 0x45778a
mov edx, dword [esp + 0x54]
push edx
call dword [0x4df74c]
mov ecx, dword [esp + 0x58]
add esp, 4
mov edx, eax
mov eax, 0xcccccccd
mul edx
shr edx, 4
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], ecx
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x20]
lea eax, [edi + edi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x1c]
mov byte [eax], 0x33
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
jmp 0x4577cd
mov esi, dword [esp + 0x28]
cmp dword [esp + 0x68], ebx
jne 0x457a31
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0xac]
push ebx
push edx
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x58]
neg ecx
push 1
sbb ecx, ecx
and ecx, esi
push ecx
mov ecx, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0xb8]
push ecx
push edx
push eax
call fcn.0044d8d0
add esp, 0x28
cmp dword [esp + 0x34], ebx
je 0x457832
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x9c]
push ebx
push esi
push ecx
call fcn.00452a20
add esp, 0xc
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
cmp eax, edi
jg 0x4578a7
cmp eax, ebx
je 0x457844
add eax, eax
jmp 0x457849
mov eax, 0x33
mov ecx, dword [ebp]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x14]
add edx, edx
add edx, edx
push edx
push eax
push ecx
call fcn.0040f6c0
mov esi, eax
add esp, 0xc
cmp esi, ebx
je 0x457918
mov eax, dword [ebp]
cmp eax, ebx
je 0x45788b
cmp esi, dword [eax + 0xf0]
jb 0x45788b
cmp esi, dword [eax + 0xf4]
jae 0x45788b
movzx ecx, word [eax + 0xe0]
jmp 0x457897
push esi
call dword [0x4df74c]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], esi
mov eax, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov ecx, dword [esp + 0x20]
lea edx, [edi + edi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x28]
mov byte [eax], 0x33
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov dword [esp + 0x44], edi
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x9c]
push eax
mov eax, dword [esp + 0x14]
push ecx
push edx
call fcn.00451380
add esp, 0xc
cmp dword [esp + 0x34], ebx
jne 0x457906
cmp dword [esp + 0x40], ebx
je 0x4579aa
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
cmp eax, esi
jg 0x457981
cmp eax, ebx
je 0x457922
add eax, eax
jmp 0x457927
mov dword [esp + 0x44], 1
jmp 0x4578d8
mov eax, 0x33
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp]
lea eax, [eax + eax*4]
add eax, eax
add eax, eax
push eax
push ecx
push edx
call fcn.0040f6c0
mov edi, eax
add esp, 0xc
cmp edi, ebx
je 0x4579aa
mov eax, dword [ebp]
cmp eax, ebx
je 0x457965
cmp edi, dword [eax + 0xf0]
jb 0x457965
cmp edi, dword [eax + 0xf4]
jae 0x457965
movzx ecx, word [eax + 0xe0]
jmp 0x457971
push edi
call dword [0x4df74c]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], edi
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x20]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x38
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x44]
cmp eax, ecx
jle 0x4579bf
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
cmp dword [esp + 0x34], ebx
je 0x4579df
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x9c]
push eax
push ebx
push ecx
call fcn.00452a20
add esp, 0xc
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x20]
push ebx
push ebx
push 1
push edx
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0xb0]
push ecx
push edx
push eax
call fcn.0044e640
add esp, 0x20
cmp dword [esp + 0x34], ebx
je 0x457a2d
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xa4]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x9c]
push ecx
push edx
call fcn.00453b60
add esp, 8
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x50]
test byte [eax + 0xc], 0x80
je 0x457af7
mov ecx, dword [esp + 0x9c]
cmp dword [ecx + 0x1ac], ebx
jne 0x457af7
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
cmp ecx, eax
mov dword [esp + 0x2c], eax
jg 0x457aca
cmp ecx, ebx
lea eax, [ecx + ecx]
jne 0x457a6c
mov eax, 0x33
mov ecx, dword [ebp]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x14]
add edx, edx
add edx, edx
push edx
push eax
push ecx
call fcn.0040f6c0
mov edi, eax
add esp, 0xc
cmp edi, ebx
je 0x457af7
mov eax, dword [ebp]
cmp eax, ebx
je 0x457aaa
cmp edi, dword [eax + 0xf0]
jb 0x457aaa
cmp edi, dword [eax + 0xf4]
jae 0x457aaa
movzx ecx, word [eax + 0xe0]
jmp 0x457ab6
push edi
call dword [0x4df74c]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x2c]
shr edx, 4
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], edi
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x64]
mov ecx, 1
add dword [ebp + 0xc], ecx
mov byte [eax], 0x14
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0xa8]
push ecx
mov ecx, dword [esp + 0x60]
push esi
push edx
mov edx, dword [esp + 0xac]
push 2
push eax
push 0x6a
push ecx
push edx
call fcn.00434a50
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
add esp, 0x24
cmp eax, edi
jg 0x457b9c
cmp eax, ebx
je 0x457b3d
add eax, eax
jmp 0x457b42
mov eax, 0x33
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp]
lea eax, [eax + eax*4]
add eax, eax
add eax, eax
push eax
push ecx
push edx
call fcn.0040f6c0
mov esi, eax
add esp, 0xc
cmp esi, ebx
je 0x457bc5
mov eax, dword [ebp]
cmp eax, ebx
je 0x457b80
cmp esi, dword [eax + 0xf0]
jb 0x457b80
cmp esi, dword [eax + 0xf4]
jae 0x457b80
movzx ecx, word [eax + 0xe0]
jmp 0x457b8c
push esi
call dword [0x4df74c]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], esi
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x1c]
lea eax, [edi + edi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 1
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov ecx, dword [esp + 0x1c]
mov eax, dword [ebp + 0xc]
cmp eax, ecx
jle 0x457bda
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
cmp eax, ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], eax
je 0x457cc2
cmp dword [esp + 0x5c], ebx
jne 0x457c08
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
cmp dword [ecx + edx*4], ebx
jle 0x457cae
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
cmp eax, esi
jg 0x457c79
cmp eax, ebx
je 0x457c1a
add eax, eax
jmp 0x457c1f
mov eax, 0x33
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp]
lea eax, [eax + eax*4]
add eax, eax
add eax, eax
push eax
push ecx
push edx
call fcn.0040f6c0
mov edi, eax
add esp, 0xc
cmp edi, ebx
je 0x457caa
mov eax, dword [ebp]
cmp eax, ebx
je 0x457c5d
cmp edi, dword [eax + 0xf0]
jb 0x457c5d
cmp edi, dword [eax + 0xf4]
jae 0x457c5d
movzx ecx, word [eax + 0xe0]
jmp 0x457c69
push edi
call dword [0x4df74c]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], edi
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x20]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x18]
lea edx, [edx + ecx + 1]
mov byte [eax], 0x2a
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x20]
add dword [esp + 0x18], 1
cmp eax, ebx
mov dword [esp + 0x14], eax
jne 0x457bf1
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
cmp eax, esi
jg 0x457d33
cmp eax, ebx
je 0x457cd4
add eax, eax
jmp 0x457cd9
mov eax, 0x33
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp]
lea eax, [eax + eax*4]
add eax, eax
add eax, eax
push eax
push ecx
push edx
call fcn.0040f6c0
mov edi, eax
add esp, 0xc
cmp edi, ebx
je 0x457d5c
mov eax, dword [ebp]
cmp eax, ebx
je 0x457d17
cmp edi, dword [eax + 0xf0]
jb 0x457d17
cmp edi, dword [eax + 0xf4]
jae 0x457d17
movzx ecx, word [eax + 0xe0]
jmp 0x457d23
push edi
call dword [0x4df74c]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], edi
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x20]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x2a
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [esp + 0x9c]
cmp byte [eax + 0x13], bl
jne 0x457d79
cmp dword [eax + 0x1ac], ebx
jne 0x457d79
push eax
call fcn.0044c0d0
add esp, 4
mov eax, dword [esp + 0x50]
test byte [eax + 0xc], 0x80
je 0x457ec7
mov ecx, dword [esp + 0x9c]
cmp dword [ecx + 0x1ac], ebx
jne 0x457ec7
mov edx, ecx
cmp byte [edx + 0x13], bl
jne 0x457ec7
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
cmp eax, edi
jg 0x457e16
cmp eax, ebx
je 0x457db7
add eax, eax
jmp 0x457dbc
mov eax, 0x33
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp]
lea eax, [eax + eax*4]
add eax, eax
add eax, eax
push eax
push ecx
push edx
call fcn.0040f6c0
mov esi, eax
add esp, 0xc
cmp esi, ebx
je 0x457e43
mov eax, dword [ebp]
cmp eax, ebx
je 0x457dfa
cmp esi, dword [eax + 0xf0]
jb 0x457dfa
cmp esi, dword [eax + 0xf4]
jae 0x457dfa
movzx ecx, word [eax + 0xe0]
jmp 0x457e06
push esi
call dword [0x4df74c]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], esi
mov edx, dword [ebp + 0x14]
lea eax, [edi + edi*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x64]
mov ecx, 1
add dword [ebp + 0xc], ecx
mov byte [eax], 0x10
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
push 1
push ebp
call fcn.0042b100
mov eax, dword [ebp]
add esp, 8
cmp byte [eax + 0x1e], bl
jne 0x457ec7
mov ebp, dword [ebp + 0x28]
mov eax, dword [ebp + 0x10]
cmp eax, ebx
je 0x457e65
mov eax, dword [eax + 0x48]
jmp 0x457e6a
mov eax, 0x3b9aca00
xor esi, esi
cmp eax, ebx
jl 0x457e7f
cmp byte [esi + str.rows_updated], bl
je 0x457e7f
add esi, 1
cmp esi, eax
jle 0x457e70
xor ecx, ecx
cmp ecx, fcn.0040f470
mov edi, 0x202
push ebp
jne 0x457ea1
call fcn.00423880
mov eax, str.rows_updated
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x24], eax
jmp 0x457eb2
call fcn.00423880
mov dword [ebp + 0x14], str.rows_updated
mov edi, 0xa02
mov dword [ebp + 0x20], ebx
add esp, 4
mov dword [ebp + 0x18], esi
mov word [ebp + 0x1c], di
mov byte [ebp + 0x1f], 1
mov byte [ebp + 0x1e], 3
mov eax, dword [esp + 0x70]
cmp eax, ebx
je 0x457ed9
mov edx, dword [esp + 0x6c]
mov dword [eax + 0x1f8], edx
mov esi, dword [esp + 0x50]
cmp esi, ebx
mov edi, dword [esp + 0x38]
je 0x457f14
cmp edi, ebx
je 0x457f81
cmp edi, dword [esi + 0xf0]
jb 0x457f14
cmp edi, dword [esi + 0xf4]
jae 0x457f14
mov eax, dword [esi + 0xec]
mov dword [edi], eax
add dword [esi + 0xe4], 0xffffffff
mov dword [esi + 0xec], edi
jmp 0x457f81
cmp edi, ebx
je 0x457f81
cmp dword [0x4df728], ebx
je 0x457f77
mov eax, dword [0x4e3da0]
cmp eax, ebx
je 0x457f33
push eax
call dword [0x4df770]
add esp, 4
push edi
call dword [0x4df74c]
mov ecx, dword [0x4e3de0]
neg eax
add ecx, eax
add esp, 4
cmp ecx, dword [0x4e3e04]
mov dword [0x4e3de0], ecx
jle 0x457f5b
mov dword [0x4e3e04], ecx
push edi
call dword [0x4df744]
mov eax, dword [0x4e3da0]
add esp, 4
cmp eax, ebx
je 0x457f81
push eax
call dword [0x4df778]
jmp 0x457f7e
push edi
call dword [0x4df744]
add esp, 4
cmp esi, ebx
mov edi, dword [esp + 0x30]
je 0x457fb8
cmp edi, ebx
je 0x458025
cmp edi, dword [esi + 0xf0]
jb 0x457fb8
cmp edi, dword [esi + 0xf4]
jae 0x457fb8
mov ecx, dword [esi + 0xec]
mov dword [edi], ecx
add dword [esi + 0xe4], 0xffffffff
mov dword [esi + 0xec], edi
jmp 0x458025
cmp edi, ebx
je 0x458025
cmp dword [0x4df728], ebx
je 0x45801b
mov eax, dword [0x4e3da0]
cmp eax, ebx
je 0x457fd7
push eax
call dword [0x4df770]
add esp, 4
push edi
call dword [0x4df74c]
mov ecx, dword [0x4e3de0]
neg eax
add ecx, eax
add esp, 4
cmp ecx, dword [0x4e3e04]
mov dword [0x4e3de0], ecx
jle 0x457fff
mov dword [0x4e3e04], ecx
push edi
call dword [0x4df744]
mov eax, dword [0x4e3da0]
add esp, 4
cmp eax, ebx
je 0x458025
push eax
call dword [0x4df778]
jmp 0x458022
push edi
call dword [0x4df744]
add esp, 4
mov edx, dword [esp + 0xa0]
push edx
mov eax, esi
call fcn.00428ee0
mov eax, dword [esp + 0xa8]
add esp, 4
push eax
call fcn.00447b80
mov edi, dword [esp + 0xac]
add esp, 4
cmp edi, ebx
je 0x458115
push edi
push esi
call fcn.00447020
add esp, 8
test word [edi + 2], 0x8000
jne 0x458115
cmp esi, ebx
je 0x4580a0
cmp edi, dword [esi + 0xf0]
jb 0x4580a0
cmp edi, dword [esi + 0xf4]
jae 0x4580a0
mov ecx, dword [esi + 0xec]
mov dword [edi], ecx
add dword [esi + 0xe4], 0xffffffff
mov dword [esi + 0xec], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret
cmp dword [0x4df728], ebx
je 0x45810b
mov eax, dword [0x4e3da0]
cmp eax, ebx
je 0x4580bb
push eax
call dword [0x4df770]
add esp, 4
push edi
call dword [0x4df74c]
mov ecx, dword [0x4e3de0]
neg eax
add ecx, eax
add esp, 4
cmp ecx, dword [0x4e3e04]
mov dword [0x4e3de0], ecx
jle 0x4580e3
mov dword [0x4e3e04], ecx
push edi
call dword [0x4df744]
mov eax, dword [0x4e3da0]
add esp, 4
cmp eax, ebx
je 0x458115
push eax
call dword [0x4df778]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret
push edi
call dword [0x4df744]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret