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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xfc
mov eax, dword [0x49b008]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
or dword [ebp - 0xa4], 0xffffffff
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp + 0x1c]
push ebx
xor ebx, ebx
mov dword [ebp - 0x98], eax
push esi
mov esi, ecx
mov dword [ebp - 0x88], edx
xor eax, eax
mov dword [ebp - 0xa0], esi
inc eax
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xe8], eax
mov eax, dword [esi]
push edi
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0x70], ebx
movlpd qword [ebp - 0xf4], xmm0
mov dword [ebp - 0xb8], eax
cmp dword [esi + 0x24], ebx
jne 0x45958e
call fcn.0044175d
mov edi, eax
mov dword [ebp - 0x34], edi
test edi, edi
je 0x45958e
mov edx, dword [edi + 0x3c]
mov ecx, dword [esi]
call fcn.0044db31
mov ebx, dword [ebp - 0x64]
mov edx, edi
mov dword [ebp - 0x7c], eax
mov ecx, esi
lea eax, [ebp - 0xcc]
push eax
push ebx
push 0x81
call fcn.00457266
mov ecx, dword [ebp - 0x88]
add esp, 0xc
mov dword [ebp - 0x78], eax
mov al, byte [edi + 0x2b]
mov byte [ebp - 0x2a], al
xor eax, eax
inc eax
cmp dword [ecx], eax
jle 0x4581a3
mov ebx, dword [ebx]
mov dword [ebp - 0x48], ebx
jmp 0x4581a7
and dword [ebp - 0x48], 0
mov edx, edi
mov ecx, esi
call fcn.0043e64a
test eax, eax
jne 0x45958e
push dword [ebp - 0x78]
mov edx, edi
mov ecx, esi
call fcn.0044183d
pop ecx
test eax, eax
jne 0x45958e
mov ebx, dword [esi + 0x28]
mov edx, ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0xc0], edx
lea eax, [ebx + 1]
mov dword [esi + 0x28], eax
test byte [edi + 0x1c], 0x80
mov dword [ebp - 0xac], eax
jne 0x4581f3
and dword [ebp - 0x50], 0
jmp 0x458203
mov ecx, edi
call fcn.0043c2fb
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0xac]
xor ecx, ecx
mov dword [ebp - 0xbc], ecx
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x458242
mov edi, dword [ebp - 0xbc]
mov edx, eax
cmp dword [ebp - 0x50], ecx
mov eax, edx
cmovne eax, ebx
inc edx
mov dword [esi + 0x28], edx
inc edi
mov ecx, dword [ecx + 0x14]
mov ebx, eax
test ecx, ecx
jne 0x45821a
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xbc], edi
mov edi, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x98]
test eax, eax
je 0x45825e
mov ebx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0xac], eax
mov dword [esi + 0x28], edx
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0xb8]
push 0
mov dword [eax + 0x34], ebx
movsx eax, word [edi + 0x22]
mov ebx, dword [ebp - 0xbc]
add eax, ebx
lea eax, [eax*4 + 6]
add eax, ebx
push eax
call fcn.004055cb
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x44], ecx
test ecx, ecx
je 0x45958e
movsx eax, word [edi + 0x22]
lea eax, [ecx + eax*4]
mov dword [ebp - 0x94], eax
lea ecx, [ebx + 1]
lea ecx, [eax + ecx*4]
lea eax, [ebx + 1]
mov dword [ebp - 0x90], ecx
push eax
xor eax, eax
inc eax
push eax
push ecx
call fcn.004753e0
mov eax, dword [ebp - 0x90]
add esp, 0xc
xor ecx, ecx
mov byte [eax + ebx + 1], 0
xor eax, eax
cmp ax, word [edi + 0x22]
jge 0x4582ee
mov esi, dword [ebp - 0x44]
or dword [esi + ecx*4], 0xffffffff
inc ecx
movsx eax, word [edi + 0x22]
cmp ecx, eax
jl 0x4582db
mov esi, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x88]
xorps xmm0, xmm0
and dword [ebp - 0x14], 0
mov ecx, esi
and dword [ebp - 0xc], 0
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x98]
movlpd qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0x200
call fcn.00450519
mov dword [ebp - 0x30], eax
test eax, eax
je 0x45958e
mov edx, dword [ebp - 0x64]
xor ebx, ebx
xor al, al
mov dword [ebp - 0x68], ebx
xor cl, cl
mov byte [ebp - 0x3d], al
mov byte [ebp - 0x29], cl
cmp dword [edx], ebx
jle 0x45851d
lea edi, [edx + 8]
mov dword [ebp - 0x5c], edi
mov ecx, dword [edi + 4]
call fcn.004086cc
cmp dword [ebp - 0x48], 0
mov dl, al
mov byte [ebp - 0x69], dl
jne 0x458374
mov edx, dword [edi]
lea ecx, [ebp - 0x28]
call fcn.0043078a
test eax, eax
jne 0x45958e
mov dl, byte [ebp - 0x69]
mov ecx, dword [ebp - 0x34]
xor edi, edi
movsx eax, word [ecx + 0x22]
mov dword [ebp - 0xb0], eax
test eax, eax
jle 0x4583c9
mov ebx, dword [ecx + 4]
mov eax, ebx
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x3c], eax
cmp byte [eax + 0xa], dl
jne 0x4583bb
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 4]
mov ecx, dword [eax]
call fcn.00408637
test eax, eax
je 0x45842f
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0xb0]
mov dl, byte [ebp - 0x69]
inc edi
add eax, 0x10
mov dword [ebp - 0x3c], eax
cmp edi, ecx
jl 0x458395
mov ebx, dword [ebp - 0x68]
mov eax, dword [ebp - 0xa4]
mov cl, byte [ebp - 0x29]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x34]
mov byte [ebp - 0x29], cl
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x84], ecx
movsx eax, word [eax + 0x22]
cmp edi, eax
jl 0x45848b
cmp dword [ebp - 0x50], 0
jne 0x458560
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 4]
call fcn.00432adc
test eax, eax
je 0x458560
xor eax, eax
mov dword [ebp - 0xa4], ebx
or edi, 0xffffffff
inc eax
mov byte [ebp - 0x29], al
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov dword [ebp - 0x84], eax
jmp 0x45848f
mov eax, dword [ebp - 0x34]
movsx eax, word [eax + 0x20]
cmp edi, eax
jne 0x458456
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
mov ebx, dword [ebp - 0x68]
inc ecx
mov byte [ebp - 0x29], cl
mov dword [ebp - 0xa4], ebx
mov eax, dword [eax]
mov dword [ebp - 0x84], eax
jmp 0x458480
cmp dword [ebp - 0x50], 0
je 0x45846e
mov eax, edi
xor ecx, ecx
add eax, eax
inc ecx
test byte [ebx + eax*8 + 0xe], cl
je 0x45846e
mov byte [ebp - 0x3d], cl
jmp 0x45847d
mov eax, edi
add eax, eax
test byte [ebx + eax*8 + 0xe], 0x60
jne 0x458548
mov ebx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x44]
mov dword [eax + edi*4], ebx
jmp 0x4583c9
test edi, edi
jns 0x458496
mov edx, str.ROWID
jmp 0x4584c1
mov eax, dword [ebp - 0x34]
mov ecx, edi
add ecx, ecx
mov eax, dword [eax + 4]
mov edx, dword [eax + ecx*8]
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xa4], eax
mov al, byte [ebp - 0x29]
mov byte [ebp - 0x29], al
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x7c]
add ecx, ecx
mov eax, dword [eax + 0x10]
push dword [eax + ecx*8]
mov eax, dword [ebp - 0x34]
mov ecx, esi
push edx
push dword [eax]
push 0x17
pop edx
call fcn.0043b324
xor ecx, ecx
add esp, 0xc
inc ecx
cmp eax, ecx
je 0x45958e
cmp eax, 2
jne 0x4584fc
mov eax, dword [ebp - 0x44]
or dword [eax + edi*4], 0xffffffff
mov eax, dword [ebp - 0x64]
inc ebx
mov edi, dword [ebp - 0x5c]
add edi, 0x14
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x5c], edi
cmp ebx, dword [eax]
jl 0x45834c
mov edi, dword [ebp - 0x34]
mov cl, byte [ebp - 0x29]
mov al, byte [ebp - 0x3d]
test byte [edi + 0x1c], 0x60
lea edx, [ecx + eax]
mov byte [ebp - 0x5c], dl
je 0x4585f3
movzx eax, word [edi + 0x22]
mov esi, dword [ebp - 0x34]
xor edx, edx
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x3c], edx
cmp bx, ax
jge 0x4585e7
jmp 0x458586
add edi, edi
push dword [ebx + edi*8]
push str.cannot_UPDATE_generated_column___s_
push esi
call fcn.004084dd
add esp, 0xc
jmp 0x45958e
mov ecx, dword [ebp - 0x64]
imul eax, ebx, 0x14
push dword [eax + ecx + 0xc]
push str.no_such_column:__s
push esi
call fcn.004084dd
xor eax, eax
add esp, 0xc
inc eax
mov byte [esi + 0x11], al
jmp 0x45958e
mov cl, byte [ebp - 0x29]
mov eax, dword [ebp - 0x44]
cmp dword [eax + edi*4], 0
jge 0x4585cb
mov edx, dword [esi + 4]
add edx, ebx
test byte [edx + 0xe], 0x60
je 0x4585c8
movzx eax, cl
mov ecx, esi
push eax
call fcn.0043be66
mov edx, dword [ebp - 0x44]
mov ecx, eax
call fcn.00447706
pop ecx
test eax, eax
je 0x4585c8
mov eax, dword [ebp - 0x44]
mov dword [eax + edi*4], 0x1869f
xor eax, eax
lea edx, [eax + 1]
mov dword [ebp - 0x3c], edx
jmp 0x4585cb
mov edx, dword [ebp - 0x3c]
movzx eax, word [esi + 0x22]
inc edi
mov ecx, eax
add ebx, 0x10
cwde
cmp edi, eax
jl 0x458583
mov eax, ecx
mov cl, byte [ebp - 0x29]
test edx, edx
jne 0x458534
mov esi, dword [ebp - 0xa0]
mov edi, dword [ebp - 0x34]
mov dl, byte [ebp - 0x5c]
xor eax, eax
inc eax
cmp byte [edi + 0x2b], al
jne 0x458603
or eax, 0xffffffff
or ecx, 0xffffffff
jmp 0x45861a
xorps xmm0, xmm0
movlpd qword [ebp - 0xd8], xmm0
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0x88]
mov dword [ebx + 0x40], eax
movzx eax, dl
mov edx, edi
push eax
push dword [ebp - 0x44]
mov dword [ebx + 0x44], ecx
mov ecx, esi
mov dword [ebp - 0xb0], eax
call fcn.00445a5e
cmp dword [ebp + 0x10], 5
pop ecx
pop ecx
mov ecx, eax
mov eax, dword [ebp - 8]
push 1
pop edx
cmove eax, edx
mov dword [ebp - 0x74], ecx
and dword [ebp - 0xdc], 0
mov dword [ebp - 8], eax
mov edi, dword [edi + 8]
test edi, edi
je 0x45873c
mov ebx, dword [ebp - 0x90]
inc ebx
mov dword [ebp - 0x4c], ebx
cmp byte [ebp - 0x5c], 0
jne 0x4587b4
cmp ecx, edx
jg 0x4587b4
cmp edi, dword [ebp - 0x50]
je 0x4587b4
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x4586a7
movzx eax, byte [ebp - 0x29]
mov edx, dword [ebp - 0x44]
push eax
call fcn.00447706
pop ecx
test eax, eax
jne 0x4587b4
xor ecx, ecx
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0xd4], ecx
cmp ax, word [edi + 0x32]
jae 0x45870b
mov dword [ebp - 0x3c], ecx
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0x44]
movzx eax, word [eax + ebx*2]
test ax, ax
js 0x4586d6
cwde
mov eax, dword [edx + eax*4]
not eax
shr eax, 0x1f
jmp 0x4586ee
movzx eax, byte [ebp - 0x29]
mov ecx, dword [edi + 0x28]
push eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ecx + eax + 8]
call fcn.00447706
pop ecx
mov ecx, dword [ebp - 0x3c]
test eax, eax
jne 0x45878e
movzx eax, word [edi + 0x32]
inc ebx
add ecx, 0x14
mov dword [ebp - 0x3c], ecx
cmp ebx, eax
jl 0x4586bc
mov ecx, dword [ebp - 0xd4]
mov ebx, dword [ebp - 0x4c]
mov byte [ebx], 0
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x94]
push 1
mov dword [edx + eax*4], ecx
inc eax
mov edi, dword [edi + 0x14]
inc ebx
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x4c], ebx
pop edx
test edi, edi
jne 0x45866f
mov edi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x94]
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov dword [ecx + edi*4], eax
cmp dword [ebp - 8], 0
je 0x45876e
mov eax, dword [ebp - 0xbc]
inc eax
push eax
push edx
push dword [ebp - 0x90]
call fcn.004753e0
add esp, 0xc
cmp byte [esi + 0x12], 0
jne 0x45877e
mov eax, dword [ebp - 0x30]
or dword [eax + 0x98], 0x10
cmp dword [ebp - 0x78], 0
jne 0x4587d0
cmp dword [ebp - 0x74], 0
jne 0x4587d0
xor edx, edx
jmp 0x4587d5
inc dword [esi + 0x2c]
movzx eax, word [edi + 0x34]
mov ecx, dword [esi + 0x2c]
add eax, ecx
cmp dword [ebp + 0x10], 0xb
mov ebx, dword [ebp - 0x4c]
mov dword [esi + 0x2c], eax
jne 0x4587c3
cmp byte [edi + 0x36], 5
jne 0x4587c3
xor eax, eax
inc eax
mov dword [ebp - 8], eax
jmp 0x4587c3
inc dword [esi + 0x2c]
movzx eax, word [edi + 0x34]
mov ecx, dword [esi + 0x2c]
add eax, ecx
mov dword [esi + 0x2c], eax
test ecx, ecx
jne 0x458711
jmp 0x45870e
xor eax, eax
lea edx, [eax + 1]
push dword [ebp - 0x7c]
mov ecx, esi
call fcn.00440a87
mov ebx, dword [ebp - 0x34]
xor eax, eax
inc eax
pop ecx
cmp byte [ebx + 0x2b], al
je 0x458863
mov eax, dword [ebp - 0x94]
mov edx, dword [esi + 0x2c]
inc edx
cmp byte [ebp - 0x3d], 0
mov dword [ebp - 0x8c], edx
mov eax, dword [eax + edi*4]
mov edi, dword [ebp - 0x78]
mov dword [ebp - 0xe0], eax
mov dword [esi + 0x2c], edx
mov dword [ebp - 0x54], edx
jne 0x458820
test edi, edi
jne 0x458820
mov eax, dword [ebp - 0x74]
mov ecx, edx
test eax, eax
je 0x458835
movsx ecx, word [ebx + 0x22]
lea eax, [edx + 1]
add ecx, edx
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x74]
mov dword [esi + 0x2c], ecx
cmp byte [ebp - 0x5c], 0
jne 0x458843
test edi, edi
jne 0x458843
test eax, eax
je 0x458851
lea eax, [ecx + 1]
mov dword [ebp - 0x8c], eax
mov ecx, eax
mov dword [esi + 0x2c], eax
lea eax, [ecx + 1]
mov dword [ebp - 0xa8], eax
movsx eax, word [ebx + 0x22]
add eax, ecx
mov dword [esi + 0x2c], eax
mov cl, byte [ebp - 0x2a]
cmp cl, 2
jne 0x45888a
mov ecx, dword [esi + 0x100]
mov eax, dword [ebx]
mov dword [ebp - 0xd4], ecx
mov cl, byte [ebp - 0x2a]
mov dword [ebp - 0xfc], esi
mov dword [esi + 0x100], eax
jmp 0x4588a2
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0x48], 0
mov edi, dword [ebp - 0x9c]
jne 0x4588d9
cmp cl, 2
jne 0x4588c7
push dword [ebp - 0x38]
mov edx, ebx
mov ecx, esi
push 0
push 0
push edi
call fcn.004418ba
add esp, 0x10
mov edx, edi
lea ecx, [ebp - 0x28]
call fcn.0043078a
test eax, eax
jne 0x459578
xor edx, edx
inc edx
cmp byte [ebx + 0x2b], dl
jne 0x458907
push dword [ebp + 0x10]
mov edx, dword [ebp - 0x88]
mov ecx, esi
push edi
push dword [ebp - 0x44]
push dword [ebp - 0x84]
push dword [ebp - 0x64]
push ebx
call fcn.004595d1
add esp, 0x18
jmp 0x459578
dec dword [esi + 0x38]
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 0x24]
xor eax, eax
and ecx, edx
or eax, ecx
je 0x458965
cmp dword [esi + 0x7c], 0
jne 0x458965
cmp byte [esi + 0x12], 0
jne 0x458965
cmp byte [esi + 0x9d], 0
jne 0x458965
cmp dword [ebp - 0x98], 0
mov edi, dword [ebp - 0x30]
jne 0x458968
inc dword [esi + 0x2c]
mov ecx, edi
mov eax, dword [esi + 0x2c]
push 0
push eax
push 0
push 0x47
pop edx
mov dword [ebp - 0xec], eax
call fcn.00420222
add esp, 0xc
jmp 0x458968
mov edi, dword [ebp - 0x30]
cmp dword [ebp - 0x48], 0
jne 0x4589c8
test byte [ebx + 0x1c], 0x80
jne 0x4589c8
push dword [ebp - 0x54]
mov ecx, edi
push dword [ebp - 0xe0]
push 0
push 0x4b
pop edx
call fcn.00420222
mov ecx, dword [esi + 0x28]
add esp, 0xc
mov dword [ebp - 0x58], ecx
push dword [ebp - 0xe0]
lea eax, [ecx + 1]
push 0
push ecx
push 0x76
pop edx
mov ecx, edi
mov dword [esi + 0x28], eax
call fcn.00420222
add esp, 0xc
mov edi, eax
cmp dword [ebp - 0x98], 0
mov dword [ebp - 0xf0], edi
je 0x458ac6
jmp 0x458bf0
mov edx, dword [ebp - 0x50]
test edx, edx
je 0x4589d5
movzx ebx, word [edx + 0x32]
jmp 0x4589d7
xor ebx, ebx
mov eax, dword [esi + 0x2c]
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0xc4], ebx
inc edi
movsx ebx, bx
lea ecx, [eax + 1]
add eax, ebx
add eax, edi
mov dword [ebp - 0x80], ecx
cmp dword [ebp - 0x98], 0
mov dword [ebp - 0x70], eax
mov dword [esi + 0x2c], eax
jne 0x458b9e
cmp byte [ebp - 0x2a], 2
jne 0x458a13
mov eax, dword [ebp - 0x34]
movsx eax, word [eax + 0x22]
jmp 0x458a15
xor eax, eax
lea edi, [eax + ebx]
mov eax, dword [esi + 0x28]
add edi, dword [ebp - 0x48]
mov dword [ebp - 0x58], eax
inc eax
mov dword [esi + 0x28], eax
test edx, edx
je 0x458a40
lea eax, [ecx - 1]
add eax, ebx
push eax
push ecx
mov ecx, dword [ebp - 0x30]
push 0
push 0x4b
pop edx
call fcn.00420222
add esp, 0xc
mov ecx, dword [ebp - 0x30]
push 0
push edi
push dword [ebp - 0x58]
push 0x76
pop edx
call fcn.00420222
mov dword [ebp - 0xf0], eax
add esp, 0xc
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x458a82
mov edx, eax
mov ecx, esi
call fcn.00440e90
test eax, eax
je 0x458a7f
mov ecx, dword [ebp - 0x30]
mov edx, eax
push 0xfffffffffffffff8
mov word [eax + 8], di
call fcn.00420a51
pop ecx
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x48], 0
je 0x458abd
mov edi, dword [ebp - 0x58]
mov edx, edi
push ecx
push ecx
push dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x88]
push ecx
mov ecx, dword [ebp - 0x64]
push ecx
push eax
mov ecx, esi
call fcn.00457e84
add esp, 0x18
cmp byte [ebp - 0x2a], 2
jne 0x458bb5
mov dword [ebp - 0x38], edi
jmp 0x458bb5
mov ebx, dword [ebp - 0x34]
mov edi, dword [ebp - 0xf0]
cmp byte [esi + 0x12], 0
push 4
pop eax
jne 0x458af1
cmp dword [ebp - 0x78], 0
jne 0x458af1
cmp dword [ebp - 0x74], 0
jne 0x458af1
cmp byte [ebp - 0x5c], 0
jne 0x458af1
cmp dword [ebp - 8], 0
jne 0x458af1
test byte [ebp - 0x10], 0x40
push 0xc
pop ecx
cmove eax, ecx
push dword [ebp - 0xac]
mov edx, dword [ebp - 0x88]
mov ecx, esi
push eax
xor eax, eax
push eax
push eax
push eax
push dword [ebp - 0x9c]
call fcn.0046582f
mov edx, eax
add esp, 0x18
mov dword [ebp - 0xb4], edx
test edx, edx
je 0x459578
mov eax, dword [edx + 0x14]
mov ecx, dword [edx + 0x18]
movzx edx, byte [edx + 0x2e]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x60], edx
mov eax, dword [eax + 0x30]
and eax, 1
mov dword [ebp - 0xe8], eax
xor eax, eax
inc eax
cmp edx, eax
je 0x458c2a
cmp dword [esi + 0x78], 0
mov eax, esi
cmovne eax, dword [esi + 0x78]
cmp edx, 2
mov edx, dword [ebp - 0x38]
mov byte [eax + 0x14], 1
jne 0x458c2d
test ecx, ecx
js 0x458c2d
cmp ecx, edx
je 0x458c2d
mov eax, ecx
mov ecx, dword [ebp - 0x90]
sub eax, dword [ebp - 0xc0]
cmp byte [eax + ecx], 0
je 0x458c2d
and dword [ebp - 0x60], 0
jmp 0x458c2d
and dword [ebp - 0x58], 0
xor edi, edi
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x48], edi
je 0x458bed
cmp dword [esi + 0x78], 0
mov eax, esi
mov edx, dword [ebp - 0x80]
cmovne eax, dword [esi + 0x78]
xor ecx, ecx
inc ecx
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0x70], edx
mov byte [eax + 0x14], cl
xor ecx, ecx
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x7c], eax
jmp 0x458d53
mov ebx, dword [ebp - 0x34]
and dword [ebp - 0xb4], 0
xor eax, eax
push 0x10
push dword [ebp - 0x68]
inc eax
push dword [ebp - 0x9c]
mov dword [ebp - 0x60], eax
push esi
call fcn.00435b45
mov eax, dword [ebp - 0xd4]
add esp, 0x10
and dword [ebp - 0xe8], 0
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x7c], eax
mov edx, dword [ebp - 0x38]
test byte [ebx + 0x1c], 0x80
jne 0x458c9d
mov ecx, dword [ebp - 0x30]
push 0
push dword [ebp - 0x54]
push edx
mov edx, 0x87
call fcn.00420222
mov ecx, dword [ebp - 0x60]
add esp, 0xc
test ecx, ecx
jne 0x458c83
push dword [ebp - 0x54]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x94]
inc dword [esi + 0x2c]
push dword [ebp - 0xe0]
mov eax, dword [esi + 0x2c]
push dword [ebp - 0x58]
mov dword [edx + ecx*4], eax
mov edx, 0x80
mov ecx, dword [ebp - 0x30]
call fcn.00420222
add esp, 0xc
jmp 0x458c95
test edi, edi
je 0x458d56
mov ecx, dword [ebp - 0x30]
mov edx, edi
call fcn.00420946
mov ecx, dword [ebp - 0x60]
jmp 0x458d56
mov eax, dword [ebp - 0xc4]
xor edi, edi
movsx ebx, ax
test ebx, ebx
jle 0x458cdc
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x30]
add eax, edi
push eax
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 4]
movsx eax, word [eax + edi*2]
push eax
push edx
mov edx, esi
call fcn.00433fb9
mov edx, dword [ebp - 0x38]
add esp, 0xc
inc edi
cmp edi, ebx
jl 0x458caf
mov esi, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x60]
test ecx, ecx
je 0x458d08
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x458cfa
mov ecx, dword [ebp - 0x30]
mov edx, eax
call fcn.00420946
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0x70], eax
jmp 0x458d53
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x10]
test eax, eax
jne 0x458d1f
mov edx, ecx
mov ecx, dword [ebp - 0xb8]
call fcn.004461a4
mov ecx, dword [ebp - 0x30]
push ebx
push eax
push dword [ebp - 0x70]
push ebx
push dword [ebp - 0x80]
push 0x61
pop edx
call fcn.0042034c
mov ecx, dword [ebp - 0x30]
add esp, 0x14
mov edx, 0x8a
push ebx
push dword [ebp - 0x80]
push dword [ebp - 0x70]
push dword [ebp - 0x58]
call fcn.00420537
mov ecx, dword [ebp - 0x60]
add esp, 0x10
mov ebx, dword [ebp - 0x34]
cmp dword [ebp - 0x98], 0
jne 0x458f9c
cmp dword [ebp - 0x48], 0
jne 0x458d79
cmp ecx, 2
je 0x458d79
mov ecx, dword [ebp - 0xb4]
call fcn.00466291
cmp byte [ebp - 0x2a], 2
je 0x458e20
mov edx, dword [ebp - 0x60]
xor edi, edi
test edx, edx
je 0x458def
mov eax, dword [ebp - 0x7c]
test eax, eax
js 0x458da3
sub eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x90]
mov byte [eax + ecx], 0
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
js 0x458dc2
mov esi, dword [ebp - 0x90]
mov eax, ecx
sub eax, dword [ebp - 0xc0]
mov byte [eax + esi], 0
mov esi, dword [ebp - 0xa0]
cmp edx, 2
jne 0x458def
xor eax, eax
test ecx, ecx
mov ecx, dword [ebp - 0xbc]
setns al
sub ecx, eax
test ecx, ecx
jle 0x458def
mov ecx, dword [ebp - 0x30]
xor eax, eax
push eax
push eax
push eax
push 0xf
pop edx
call fcn.00420222
add esp, 0xc
mov edi, eax
xor edx, edx
mov ecx, esi
push edx
push edx
push dword [ebp - 0x90]
push dword [ebp - 0xc0]
push edx
push 0x71
mov edx, ebx
call fcn.00448a34
mov ebx, dword [ebp - 0x30]
add esp, 0x18
test edi, edi
je 0x458e23
mov edx, edi
mov ecx, ebx
call fcn.00420805
jmp 0x458e23
mov ebx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x60]
test edi, edi
je 0x458e84
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x7c], eax
je 0x458e51
cmp dword [ebp - 0x3c], eax
je 0x458e51
push dword [ebp - 0xc8]
mov ecx, ebx
push dword [ebp - 0x70]
push dword [ebp - 0x68]
push eax
push 0x1c
pop edx
call fcn.00420537
add esp, 0x10
xor eax, eax
inc eax
cmp edi, eax
je 0x458e61
dec dword [esi + 0x38]
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x50], 0
mov eax, dword [ebp - 0x54]
cmovne eax, dword [ebp - 0x70]
push 0
push dword [ebp - 0x68]
push eax
push 0x32
pop edx
mov ecx, ebx
call fcn.00420222
add esp, 0xc
jmp 0x458f9f
cmp dword [ebp - 0x50], 0
jne 0x458ed6
cmp dword [ebp - 0x48], 0
jne 0x458ed6
push 0
push dword [ebp - 0x68]
mov ecx, ebx
push dword [ebp - 0x58]
push 0x24
pop edx
call fcn.00420222
add esp, 0xc
mov edx, 0x87
dec dword [esi + 0x38]
mov ecx, ebx
mov edi, dword [esi + 0x38]
mov dword [ebp - 0x4c], edi
push 0
push dword [ebp - 0x54]
push dword [ebp - 0x58]
call fcn.00420222
mov dword [ebp - 0xf8], eax
add esp, 0xc
push dword [ebp - 0x54]
push edi
push dword [ebp - 0x38]
push 0x1f
jmp 0x458e74
dec dword [esi + 0x38]
mov ecx, ebx
mov edi, dword [esi + 0x38]
push 0
push dword [ebp - 0x68]
mov dword [ebp - 0x4c], edi
push dword [ebp - 0x58]
push 0x24
pop edx
call fcn.00420222
mov eax, dword [ebx + 0x6c]
add esp, 0xc
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x458f7d
cmp byte [ebp - 0x2a], 2
je 0x458fa2
cmp dword [ebp - 0x50], 0
je 0x458f64
mov eax, dword [ebp - 0xc4]
xor edi, edi
movsx ebx, ax
test ebx, ebx
jle 0x458f48
mov esi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x80]
mov ecx, esi
add eax, edi
push eax
push edi
push dword [ebp - 0x58]
push 0x5e
pop edx
call fcn.00420222
add esp, 0xc
inc edi
cmp edi, ebx
jl 0x458f26
mov esi, dword [ebp - 0xa0]
push ebx
push dword [ebp - 0x80]
mov ebx, dword [ebp - 0x30]
push dword [ebp - 0x4c]
push dword [ebp - 0x38]
mov ecx, ebx
push 0x1c
pop edx
call fcn.00420537
add esp, 0x10
jmp 0x458f9f
push 0
push dword [ebp - 0x54]
mov edx, 0x87
mov ecx, ebx
push dword [ebp - 0x58]
call fcn.00420222
jmp 0x458ec8
push 0
push dword [ebp - 0x70]
mov edx, 0x86
mov ecx, ebx
push dword [ebp - 0x58]
call fcn.00420222
add esp, 0xc
push 0
push dword [ebp - 0x70]
push edi
jmp 0x458f52
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x48]
cmp byte [ebp - 0x29], 0
je 0x458feb
mov edi, dword [ebp - 0x8c]
push edi
test eax, eax
jne 0x458fc3
mov edx, dword [ebp - 0x84]
mov ecx, esi
call fcn.0043552b
pop ecx
jmp 0x458fd9
push dword [ebp - 0xa4]
mov ecx, ebx
push dword [ebp - 0x58]
push 0x5e
pop edx
call fcn.00420222
add esp, 0xc
push 0
push 0
push edi
push 0xd
pop edx
mov ecx, ebx
call fcn.00420222
add esp, 0xc
cmp byte [ebp - 0x3d], 0
mov eax, dword [ebp - 0x74]
jne 0x459001
test eax, eax
jne 0x459005
cmp dword [ebp - 0x78], eax
je 0x4590d7
test eax, eax
je 0x459013
mov edx, dword [ebp - 0x34]
mov ecx, esi
call fcn.00445984
mov ebx, eax
jmp 0x459015
xor ebx, ebx
push dword [ebp + 0x10]
mov edx, dword [ebp - 0x78]
mov ecx, esi
push dword [ebp - 0x34]
push 3
push 0
push dword [ebp - 0x64]
call fcn.00457d53
mov ecx, dword [ebp - 0x34]
or ebx, eax
xor eax, eax
add esp, 0x14
xor edi, edi
cmp ax, word [ecx + 0x22]
jge 0x4590b2
xor esi, esi
mov eax, dword [ecx + 4]
mov edx, edi
movzx eax, word [eax + esi + 0xe]
mov dword [ebp - 0x3c], eax
call fcn.0043c333
movsx edx, ax
add edx, dword [ebp - 0xe4]
cmp ebx, 0xffffffff
je 0x45908a
cmp edi, 0x20
jge 0x459070
xor eax, eax
mov ecx, edi
inc eax
shl eax, cl
test ebx, eax
jne 0x45908a
xor eax, eax
inc eax
test byte [ebp - 0x3c], al
jne 0x45908a
mov ecx, dword [ebp - 0x30]
push 0
push edx
push 0
push 0x4b
pop edx
call fcn.00420222
jmp 0x45909a
mov ecx, dword [ebp - 0x30]
push edx
mov edx, dword [ebp - 0x34]
push edi
push dword [ebp - 0x38]
call fcn.00433fb9
mov ecx, dword [ebp - 0x34]
add esp, 0xc
inc edi
add esi, 0x10
movsx eax, word [ecx + 0x22]
cmp edi, eax
jl 0x459040
mov esi, dword [ebp - 0xa0]
cmp byte [ebp - 0x29], 0
jne 0x4590d7
cmp dword [ebp - 0x50], 0
jne 0x4590d7
mov ecx, dword [ebp - 0x30]
push 0
push dword [ebp - 0x8c]
push dword [ebp - 0x54]
push 0x50
pop edx
call fcn.00420222
add esp, 0xc
push dword [ebp + 0x10]
mov edx, dword [ebp - 0x78]
xor eax, eax
push dword [ebp - 0x34]
inc eax
mov ecx, esi
push eax
push eax
push dword [ebp - 0x64]
call fcn.00457d53
mov edx, dword [ebp - 0xa8]
xor ebx, ebx
and dword [ebp - 0xe4], ebx
add esp, 0x14
mov dword [ebp - 0x7c], eax
mov edi, edx
mov eax, dword [ebp - 0x34]
movzx ecx, word [eax + 0x22]
cmp word [ebp - 0xe4], cx
jge 0x4591f6
mov edx, ecx
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
movsx eax, word [eax + 0x20]
cmp ebx, eax
je 0x4591a3
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
movzx eax, word [eax + ecx + 0xe]
test al, 0x60
je 0x459145
test al, 0x20
je 0x4591d2
dec edi
jmp 0x4591d2
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + ebx*4]
test ecx, ecx
js 0x45918a
cmp dword [ebp - 0x48], 0
je 0x459175
cmp byte [ebp - 0x2a], 2
jne 0x459160
movzx eax, dx
jmp 0x459169
mov eax, dword [ebp - 0xc4]
movzx eax, ax
push edi
cwde
add eax, ecx
push eax
push dword [ebp - 0x58]
push 0x5e
jmp 0x4591aa
mov eax, dword [ebp - 0x64]
imul edx, ecx, 0x14
mov ecx, esi
push edi
mov edx, dword [edx + eax + 8]
call fcn.0043552b
pop ecx
jmp 0x4591d2
xor eax, eax
inc eax
test dword [ebp - 0xcc], eax
je 0x4591b8
cmp ebx, 0x1f
jg 0x4591b8
mov ecx, ebx
shl eax, cl
test dword [ebp - 0x7c], eax
jne 0x4591b8
push 0
push edi
push 0
push 0x4b
mov ecx, dword [ebp - 0x30]
pop edx
call fcn.00420222
add esp, 0xc
jmp 0x4591d2
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
push edi
push ebx
push dword [ebp - 0x38]
call fcn.00433fb9
add esp, 0xc
and dword [ebp - 0xe8], 0
mov eax, dword [ebp - 0x34]
inc ebx
add dword [ebp - 0x3c], 0x10
inc edi
mov ecx, dword [ebp - 0x3c]
movzx eax, word [eax + 0x22]
mov edx, eax
cwde
cmp ebx, eax
mov eax, dword [ebp - 0x34]
jl 0x459120
mov edx, dword [ebp - 0xa8]
mov ebx, dword [ebp - 0x34]
test byte [ebx + 0x1c], 0x60
je 0x459208
push ebx
mov ecx, esi
call fcn.00446429
pop ecx
xor ecx, ecx
inc ecx
test byte [ebp - 0xcc], cl
je 0x459324
push dword [ebp - 0xa8]
mov edi, dword [ebp - 0x30]
mov edx, ebx
mov ecx, edi
call fcn.00446249
mov edx, dword [ebp - 0x78]
xor eax, eax
pop ecx
push dword [ebp - 0x4c]
inc eax
mov ecx, esi
push dword [ebp + 0x10]
push dword [ebp - 0x54]
push ebx
push eax
push dword [ebp - 0x64]
push 0x81
call fcn.00457cca
add esp, 0x1c
cmp byte [ebp - 0x2a], 2
je 0x4594ac
cmp dword [ebp - 0x50], 0
mov ecx, edi
je 0x45927b
push dword [ebp - 0xc8]
push dword [ebp - 0x70]
push dword [ebp - 0x4c]
push dword [ebp - 0x38]
push 0x1c
pop edx
call fcn.00420537
add esp, 0x10
jmp 0x45928f
push dword [ebp - 0x54]
push dword [ebp - 0x4c]
push dword [ebp - 0x38]
push 0x1f
pop edx
call fcn.00420222
add esp, 0xc
mov eax, dword [ebp - 0x34]
xor edx, edx
mov ecx, dword [ebp - 0xa8]
xor edi, edi
mov ebx, ecx
cmp dx, word [eax + 0x22]
jge 0x45930e
xor ecx, ecx
mov esi, eax
mov dword [ebp - 0xcc], ecx
mov eax, dword [esi + 4]
movzx eax, word [eax + ecx + 0xe]
test al, 0x60
je 0x4592c6
test al, 0x20
lea eax, [ebx - 1]
cmove eax, ebx
mov ebx, eax
jmp 0x4592ef
mov eax, dword [ebp - 0x44]
cmp dword [eax + edi*4], 0
jge 0x4592ef
movsx eax, word [esi + 0x20]
cmp edi, eax
je 0x4592ef
mov ecx, dword [ebp - 0x30]
mov edx, esi
push ebx
push edi
push dword [ebp - 0x38]
call fcn.00433fb9
mov ecx, dword [ebp - 0xcc]
add esp, 0xc
movsx eax, word [esi + 0x22]
add ecx, 0x10
inc edi
mov dword [ebp - 0xcc], ecx
inc ebx
cmp edi, eax
jl 0x4592ae
mov esi, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xa8]
mov ebx, dword [ebp - 0x34]
test byte [ebx + 0x1c], 0x60
je 0x45932e
mov edx, ecx
mov ecx, esi
push ebx
call fcn.00446429
pop ecx
jmp 0x45932e
cmp byte [ebp - 0x2a], 2
je 0x459511
mov edi, dword [ebp - 0x4c]
lea eax, [ebp - 8]
push 0
push dword [ebp - 0x44]
mov edx, ebx
mov ecx, esi
push eax
push edi
push dword [ebp + 0x10]
push dword [ebp - 0x5c]
push dword [ebp - 0x54]
push dword [ebp - 0x8c]
push dword [ebp - 0xac]
push dword [ebp - 0x38]
push dword [ebp - 0x94]
call fcn.00447764
add esp, 0x2c
cmp dword [ebp - 8], 0
jne 0x459371
cmp byte [ebp - 0x5c], 0
je 0x4593af
cmp dword [ebp - 0x50], 0
je 0x459396
push dword [ebp - 0xc8]
push dword [ebp - 0x70]
push edi
push dword [ebp - 0x38]
mov edi, dword [ebp - 0x30]
mov ecx, edi
push 0x1c
pop edx
call fcn.00420537
add esp, 0x10
jmp 0x4593b2
push dword [ebp - 0x54]
push edi
push dword [ebp - 0x38]
mov edi, dword [ebp - 0x30]
mov ecx, edi
push 0x1f
pop edx
call fcn.00420222
add esp, 0xc
jmp 0x4593b2
mov edi, dword [ebp - 0x30]
cmp dword [ebp - 0x74], 0
je 0x4593d2
push dword [ebp - 0xb0]
mov edx, ebx
mov ecx, esi
push dword [ebp - 0x44]
push 0
push dword [ebp - 0x54]
call fcn.00445570
add esp, 0x10
push 0xffffffffffffffff
push dword [ebp - 0x94]
mov edx, ebx
mov ecx, esi
push dword [ebp - 0xac]
push dword [ebp - 0x38]
call fcn.0044250a
add esp, 0x10
cmp dword [ebp - 0xe8], 0
je 0x45940e
push 0
push 0
push dword [ebp - 0x38]
mov edx, 0x8f
mov ecx, edi
call fcn.00420222
add esp, 0xc
mov eax, dword [ebp - 0x74]
xor ecx, ecx
inc ecx
cmp eax, ecx
jg 0x45941e
cmp byte [ebp - 0x5c], 0
je 0x459437
push 0
push 0
push dword [ebp - 0x38]
mov edx, 0x82
mov ecx, edi
call fcn.00420222
mov eax, dword [ebp - 0x74]
add esp, 0xc
test eax, eax
je 0x459458
push dword [ebp - 0xb0]
mov edx, ebx
mov ecx, esi
push dword [ebp - 0x44]
push dword [ebp - 0x8c]
push 0
call fcn.00445570
add esp, 0x10
cmp dword [ebp - 0x60], 2
mov edx, ebx
push 0
push 0
push 6
pop ecx
push 4
pop eax
cmove eax, ecx
mov ecx, esi
push eax
push dword [ebp - 0x94]
push dword [ebp - 0x8c]
push dword [ebp - 0xac]
push dword [ebp - 0x38]
call fcn.004488df
add esp, 0x1c
cmp dword [ebp - 0x74], 0
je 0x4594ac
push dword [ebp - 0xb0]
mov edx, ebx
mov ecx, esi
push dword [ebp - 0x44]
push dword [ebp - 0x54]
push dword [ebp - 0x64]
call fcn.00446031
add esp, 0x10
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x4594ca
push 0
push ecx
push eax
push 0x56
pop edx
mov ecx, edi
call fcn.00420222
add esp, 0xc
push dword [ebp - 0x4c]
mov edx, dword [ebp - 0x78]
mov ecx, esi
push dword [ebp + 0x10]
push dword [ebp - 0x54]
push ebx
push 2
push dword [ebp - 0x64]
push 0x81
call fcn.00457cca
mov eax, dword [ebp - 0x60]
xor ecx, ecx
inc ecx
add esp, 0x1c
cmp eax, ecx
je 0x459533
mov edx, dword [ebp - 0x4c]
mov ecx, edi
cmp eax, 2
jne 0x459516
call fcn.004205fd
mov ecx, dword [ebp - 0xb4]
call fcn.00466291
jmp 0x459533
mov edi, dword [ebp - 0x30]
jmp 0x4594af
call fcn.004205fd
push 0
push dword [ebp - 0xf8]
mov ecx, edi
push dword [ebp - 0x58]
push 0x27
pop edx
call fcn.00420222
add esp, 0xc
mov edx, dword [ebp - 0x68]
mov ecx, edi
call fcn.004205fd
cmp byte [esi + 0x12], 0
jne 0x45955f
cmp dword [esi + 0x7c], 0
jne 0x45955f
cmp dword [ebp - 0x98], 0
jne 0x45955f
cmp dword [esi + 0x74], 0
je 0x45955f
mov ecx, esi
call fcn.0044675c
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x459578
push str.rows_updated
mov edx, eax
mov ecx, edi
call fcn.004417a2
pop ecx
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x45958e
mov ecx, dword [ebp - 0xd4]
mov dword [eax + 0x100], ecx
push dword [ebp - 0x44]
mov esi, dword [ebp - 0xb8]
push esi
call fcn.0040538c
mov edx, dword [ebp - 0x88]
mov ecx, esi
call fcn.004404fc
push dword [ebp - 0x64]
push esi
call fcn.004325ff
push dword [ebp - 0x9c]
push esi
call fcn.004319f8
mov ecx, dword [ebp - 4]
add esp, 0x18
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00473c7a
leave
ret