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

Disassembly:
sub esp, 0x60
mov eax, dword [0x63727c]
xor eax, esp
mov dword [esp + 0x5c], eax
push ebx
push ebp
mov ebp, dword [esp + 0x6c]
mov ebx, ecx
push esi
xor ecx, ecx
mov esi, edx
push edi
mov edi, dword [esp + 0x78]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
cmp ebx, ecx
je case.default.0x4a005c
mov eax, dword [ebp + 0x2c]
cmp eax, 0xc
ja case.default.0x4a005c
jmp dword [eax*4 + 0x4a0f84]
mov ebx, 5
xor edx, edx
cmp edi, ecx
mov dword [esp + 0x1c], ebx
jle 0x4a0094
mov eax, dword [esi + edx*4]
test eax, eax
jne 0x4a007e
mov eax, 0x5d3001
mov ecx, eax
call fcn.004960c0
cmp eax, ebx
jle 0x4a008b
mov ebx, eax
inc edx
cmp edx, edi
jl 0x4a0072
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + 0x14]
lea ecx, [eax + 1]
mov dword [ebp + 0x14], ecx
test eax, eax
jle 0x4a00b6
mov eax, dword [ebp + 0x18]
lea edx, [ebp + 0x7e]
push edx
push 0x5e35b8
push eax
call fcn.00495e80
add esp, 0xc
test edi, edi
jle case.default.0x4a005c
mov ebx, dword [esp + 0x18]
sub esi, ebx
mov eax, dword [ebx]
test eax, eax
jne 0x4a00d0
lea eax, [ebp + 0x3dc]
mov edx, dword [esp + 0x1c]
lea ecx, [ebp + 0x7e]
push ecx
mov ecx, dword [esi + ebx]
push eax
mov eax, dword [ebp + 0x18]
push ecx
push edx
push str._s___s_s
push eax
call fcn.00495e80
add esp, 0x18
add ebx, 4
sub edi, 1
jne 0x4a00c4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x5c]
xor ecx, esp
call fcn.00584447
add esp, 0x60
ret
cmp eax, 1
jne 0x4a0127
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x1c], eax
lea eax, [ebp + 0x7e]
lea edx, [ebp + 0xbc]
mov dword [esp + 0x2c], eax
jmp 0x4a013c
mov edx, 0x5e4ba8
mov dword [esp + 0x1c], 1
mov dword [esp + 0x2c], 0x5e3458
mov eax, dword [ebp + 0x14]
lea esi, [eax + 1]
mov dword [ebp + 0x14], esi
cmp eax, ecx
jne 0x4a02a5
mov dword [esp + 0x20], ecx
test edi, edi
jle 0x4a0248
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x24c]
mov dword [esp + 0x24], eax
mov eax, edx
sub eax, ebx
mov dword [esp + 0x30], eax
mov eax, ebx
sub eax, ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], eax
jmp 0x4a0180
cmp dword [esp + 0x20], 0x64
jge 0x4a019c
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
add ecx, edx
mov esi, dword [ecx + eax]
test esi, esi
jne 0x4a01e0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
test eax, eax
jne 0x4a01ab
mov eax, 0x5d3001
mov edx, eax
call fcn.004960e0
mov esi, eax
cmp esi, 0xa
jge 0x4a01be
mov esi, 0xa
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
mov eax, dword [edx + eax]
test eax, eax
jne 0x4a01d3
lea eax, [ebp + 0x3dc]
mov edx, eax
call fcn.004960e0
cmp esi, eax
jge 0x4a01e0
mov esi, eax
cmp dword [esp + 0x20], 0x64
jge 0x4a01ed
mov ecx, dword [esp + 0x24]
mov dword [ecx], esi
cmp dword [esp + 0x1c], 0
je 0x4a022a
mov edx, dword [esp + 0x14]
mov ebx, dword [ebp + 0x18]
push esi
mov esi, dword [edx]
call fcn.00495f20
lea eax, [edi - 1]
add esp, 4
cmp dword [esp + 0x20], eax
mov eax, dword [esp + 0x2c]
je 0x4a0218
mov eax, 0x5d52b4
mov ecx, dword [ebp + 0x18]
push eax
push 0x5e35b8
push ecx
call fcn.00495e80
add esp, 0xc
mov eax, dword [esp + 0x20]
mov ecx, 4
add dword [esp + 0x24], ecx
add dword [esp + 0x14], ecx
inc eax
cmp eax, edi
mov dword [esp + 0x20], eax
jl 0x4a0180
cmp dword [esp + 0x1c], 0
je 0x4a02a5
xor esi, esi
test edi, edi
jle 0x4a02a5
lea ebx, [ebp + 0x24c]
jmp 0x4a0260
cmp esi, 0x64
jge 0x4a026f
mov eax, dword [ebx]
test eax, eax
jge 0x4a0274
neg eax
jmp 0x4a0274
mov eax, 0xa
lea ecx, [edi - 1]
cmp esi, ecx
mov ecx, dword [esp + 0x2c]
je 0x4a0284
mov ecx, 0x5d52b4
mov edx, dword [ebp + 0x18]
push ecx
push str.____________________________________________________________________________________________________________________
push eax
push eax
push str.__.s_s
push edx
call fcn.00495e80
inc esi
add esp, 0x18
add ebx, 4
cmp esi, edi
jl 0x4a0260
mov dword [esp + 0x20], 0
test edi, edi
jle case.default.0x4a005c
dec edi
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x20]
mov edi, edi
cmp edi, 0x64
jge 0x4a02ce
mov ebx, dword [ebp + edi*4 + 0x24c]
jmp 0x4a02d3
mov ebx, 0xa
cmp dword [ebp + 0x2c], 9
jne 0x4a0309
mov eax, dword [esp + 0x18]
mov edx, dword [eax + edi*4]
test edx, edx
je 0x4a0309
mov ecx, edx
mov al, byte [ecx]
xor esi, esi
test al, al
je 0x4a02fe
mov edi, edi
and al, 0xc0
inc ecx
cmp al, 0x80
je 0x4a02f8
inc esi
mov al, byte [ecx]
test al, al
jne 0x4a02f0
cmp esi, ebx
jle 0x4a0309
call fcn.004960e0
mov ebx, eax
cmp edi, 1
jne 0x4a034f
mov ecx, dword [ebp + 0x508]
test ecx, ecx
je 0x4a034f
cmp dword [ebp + 0x500], 0
je 0x4a034f
mov eax, dword [ebp + 0x510]
cmp eax, dword [ebp + 0x50c]
jge 0x4a0349
mov ecx, dword [ecx + eax*4]
mov edx, dword [ebp + 0x18]
push 0x5d3001
push ecx
push str._.s
push edx
call fcn.00495e80
add esp, 0x10
inc dword [ebp + 0x510]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + edi*4]
test eax, eax
jne 0x4a0360
lea eax, [ebp + 0x3dc]
push ebx
mov ebx, dword [ebp + 0x18]
mov esi, eax
call fcn.00495f20
mov eax, dword [esp + 0x30]
add esp, 4
cmp edi, dword [esp + 0x30]
je 0x4a037d
mov eax, 0x5d52b4
mov ecx, dword [ebp + 0x18]
push eax
push 0x5e35b8
push ecx
call fcn.00495e80
inc edi
add esp, 0xc
cmp edi, dword [esp + 0x78]
jl 0x4a02c0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x5c]
xor ecx, esp
call fcn.00584447
add esp, 0x60
ret
mov edx, ebx
mov eax, dword [edx]
mov ebx, dword [ebp + 0x18]
mov edi, 0x5e6074
call fcn.0049fcc0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x5c]
xor ecx, esp
call fcn.00584447
add esp, 0x60
ret
mov eax, dword [ebx]
mov dword [esp + 0x14], ecx
mov byte [esp + 0x13], cl
mov dword [esp + 0x1c], ecx
cmp eax, ecx
je case.default.0x4a005c
push ecx
push eax
push str.CREATE_VIEW_
call fcn.004b8060
add esp, 0xc
test eax, eax
je 0x4a0684
mov eax, dword [ebx]
push 0
push eax
push str.CREATE_TRIG_
call fcn.004b8060
add esp, 0xc
test eax, eax
je 0x4a0684
mov ecx, ebx
mov edx, dword [ecx]
push edx
push 0x5e35b8
call fcn.004d32a0
mov esi, eax
movzx eax, byte [esi]
push eax
xor edi, edi
xor ebx, ebx
call fcn.0058b0d1
add esp, 0xc
test eax, eax
je 0x4a0454
movzx ecx, byte [esi + ebx + 1]
inc ebx
push ecx
call fcn.0058b0d1
add esp, 4
test eax, eax
jne 0x4a0441
lea eax, [esi + ebx]
mov bl, byte [eax]
test bl, bl
je 0x4a04ec
mov dword [esp + 0x28], eax
movzx edx, bl
push edx
call fcn.0058b0d1
add esp, 4
test eax, eax
je 0x4a049c
cmp byte [edi + esi - 1], 0xd
jne 0x4a0481
mov byte [edi + esi - 1], 0xa
movzx eax, byte [edi + esi - 1]
push eax
call fcn.0058b0d1
add esp, 4
test eax, eax
jne 0x4a04c1
cmp byte [edi + esi - 1], 0x28
jne 0x4a04bd
jmp 0x4a04c1
cmp bl, 0x28
je 0x4a04a6
cmp bl, 0x29
jne 0x4a04bd
test edi, edi
jle 0x4a04bd
movzx ecx, byte [edi + esi - 1]
push ecx
call fcn.0058b0d1
add esp, 4
test eax, eax
je 0x4a04bd
dec edi
mov byte [edi + esi], bl
inc edi
mov eax, dword [esp + 0x28]
mov bl, byte [eax + 1]
inc eax
mov dword [esp + 0x28], eax
test bl, bl
jne 0x4a0465
test edi, edi
jle 0x4a04ec
movzx edx, byte [esi + edi - 1]
push edx
call fcn.0058b0d1
add esp, 4
test eax, eax
je 0x4a04ec
dec edi
test edi, edi
jg 0x4a04d5
mov ecx, esi
mov byte [edi + esi], 0
call fcn.004960c0
cmp eax, 0x4f
jl 0x4a0657
mov bl, byte [esi]
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], eax
test bl, bl
je 0x4a064f
mov ecx, 1
cmp bl, byte [esp + 0x13]
jne 0x4a0529
mov byte [esp + 0x13], 0
jmp 0x4a05a7
cmp bl, 0x22
je 0x4a05a3
cmp bl, 0x27
je 0x4a05a3
cmp bl, 0x60
je 0x4a05a3
cmp bl, 0x5b
jne 0x4a0544
mov byte [esp + 0x13], 0x5d
jmp 0x4a05a7
cmp bl, 0x2d
jne 0x4a0556
cmp byte [esi + eax + 1], bl
jne 0x4a05a7
mov byte [esp + 0x13], 0xa
jmp 0x4a05a7
cmp bl, 0x28
jne 0x4a0561
add dword [esp + 0x14], ecx
jmp 0x4a05a7
cmp bl, 0x29
jne 0x4a05a7
sub dword [esp + 0x14], ecx
cmp dword [esp + 0x1c], 0
jle 0x4a05a7
cmp dword [esp + 0x14], 0
jne 0x4a05a7
cmp dword [esp + 0x18], 0
jle 0x4a05a7
mov eax, dword [ebp + 0x18]
mov edi, dword [esp + 0x18]
push 0x5e3458
push eax
call fcn.0049fd00
add esp, 8
mov dword [esp + 0x18], 0
mov ecx, 1
jmp 0x4a05a7
mov byte [esp + 0x13], bl
mov eax, dword [esp + 0x18]
mov byte [eax + esi], bl
add eax, ecx
mov dword [esp + 0x18], eax
cmp dword [esp + 0x14], ecx
jne 0x4a063a
cmp byte [esp + 0x13], 0
jne 0x4a063a
cmp bl, 0x28
je 0x4a05eb
cmp bl, 0xa
je 0x4a05e7
cmp bl, 0x2c
jne 0x4a063a
mov ecx, dword [esp + 0x20]
lea edi, [esi + ecx + 1]
call fcn.0049fd60
test eax, eax
jne 0x4a063a
jmp 0x4a05eb
dec dword [esp + 0x18]
mov edx, dword [ebp + 0x18]
mov edi, dword [esp + 0x18]
push 0x5e6050
push edx
call fcn.0049fd00
mov eax, dword [esp + 0x28]
movzx ecx, byte [esi + eax + 1]
inc dword [esp + 0x24]
push ecx
mov dword [esp + 0x24], 0
call fcn.0058b0d1
add esp, 0xc
test eax, eax
je 0x4a063a
mov edi, dword [esp + 0x20]
movzx edx, byte [esi + edi + 2]
inc edi
push edx
call fcn.0058b0d1
add esp, 4
test eax, eax
jne 0x4a0623
mov dword [esp + 0x20], edi
mov eax, dword [esp + 0x20]
mov bl, byte [esi + eax + 1]
inc eax
mov dword [esp + 0x20], eax
test bl, bl
jne 0x4a0514
mov eax, dword [esp + 0x18]
mov byte [eax + esi], 0
mov ebx, dword [ebp + 0x18]
mov edi, 0x5e6074
mov eax, esi
call fcn.0049fcc0
push esi
call fcn.004acb60
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x5c]
xor ecx, esp
call fcn.00584447
add esp, 0x60
ret
mov ecx, dword [ebx]
mov edx, dword [ebp + 0x18]
push ecx
push str._s__n
push edx
call fcn.00495e80
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x5c]
xor ecx, esp
call fcn.00584447
add esp, 0x60
ret
mov eax, dword [ebp + 0x14]
lea edx, [eax + 1]
mov dword [ebp + 0x14], edx
cmp eax, ecx
jne 0x4a06f8
cmp dword [ebp + 0x38], ecx
je 0x4a06f8
xor esi, esi
test edi, edi
jle 0x4a06f8
mov ebx, dword [esp + 0x14]
lea esp, [esp]
lea eax, [edi - 1]
cmp esi, eax
lea eax, [ebp + 0x7e]
je 0x4a06dd
lea eax, [ebp + 0x6a]
mov ecx, dword [ebp + 0x18]
push eax
mov eax, dword [ebx + esi*4]
push eax
push 0x5e5f7c
push ecx
call fcn.00495e80
inc esi
add esp, 0x10
cmp esi, edi
jl 0x4a06d0
xor esi, esi
test edi, edi
jle case.default.0x4a005c
lea ebx, [edi - 1]
mov edx, dword [esp + 0x18]
mov eax, dword [edx + esi*4]
test eax, eax
jne 0x4a0716
lea eax, [ebp + 0x3dc]
push eax
mov eax, dword [ebp + 0x18]
push 0x5e35b8
push eax
call fcn.00495e80
add esp, 0xc
cmp esi, ebx
jge 0x4a073b
mov edx, dword [ebp + 0x18]
lea ecx, [ebp + 0x6a]
push ecx
push 0x5e35b8
push edx
jmp 0x4a0748
mov ecx, dword [ebp + 0x18]
lea eax, [ebp + 0x7e]
push eax
push 0x5e35b8
push ecx
call fcn.00495e80
inc esi
add esp, 0xc
cmp esi, edi
jl 0x4a0705
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x5c]
xor ecx, esp
call fcn.00584447
add esp, 0x60
ret
mov eax, dword [ebp + 0x14]
lea edx, [eax + 1]
mov dword [ebp + 0x14], edx
cmp eax, ecx
jne 0x4a07d7
cmp dword [ebp + 0x38], ecx
je 0x4a07d7
mov eax, dword [ebp + 0x18]
push str._TR_
push eax
call fcn.0058a18d
add esp, 8
xor esi, esi
test edi, edi
jle 0x4a07c6
mov ecx, dword [ebp + 0x18]
push str._TH_
push ecx
call fcn.0058a18d
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + esi*4]
mov ebx, dword [ebp + 0x18]
call fcn.0049f9c0
mov eax, dword [ebp + 0x18]
push str.__TH__n
push eax
call fcn.0058a18d
inc esi
add esp, 0x10
cmp esi, edi
jl 0x4a0793
mov ecx, dword [ebp + 0x18]
push str.__TR__n
push ecx
call fcn.0058a18d
add esp, 8
mov edx, dword [ebp + 0x18]
push str._TR_
push edx
call fcn.0058a18d
add esp, 8
xor esi, esi
test edi, edi
jle 0x4a0830
mov edi, edi
mov eax, dword [ebp + 0x18]
push str._TD_
push eax
call fcn.0058a18d
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + esi*4]
add esp, 8
test eax, eax
jne 0x4a0812
lea eax, [ebp + 0x3dc]
mov ebx, dword [ebp + 0x18]
call fcn.0049f9c0
mov edx, dword [ebp + 0x18]
push str.__TD__n
push edx
call fcn.0058a18d
inc esi
add esp, 8
cmp esi, edi
jl 0x4a07f0
mov eax, dword [ebp + 0x18]
push str.__TR__n
push eax
call fcn.0058a18d
jmp 0x4a0f6c
mov eax, dword [ebp + 0x14]
lea edx, [eax + 1]
mov dword [ebp + 0x14], edx
cmp eax, ecx
jne 0x4a08b8
cmp dword [ebp + 0x38], ecx
je 0x4a08b8
xor esi, esi
cmp edi, ecx
jle 0x4a089c
mov ebx, edi
dec ebx
mov edi, edi
mov eax, dword [esp + 0x14]
mov eax, dword [eax + esi*4]
test eax, eax
jne 0x4a0870
mov eax, 0x5d3001
mov edi, dword [ebp + 0x18]
push eax
call fcn.0049f8c0
add esp, 4
cmp esi, ebx
jge 0x4a0895
mov edx, dword [ebp + 0x18]
lea ecx, [ebp + 0x6a]
push ecx
push 0x5e35b8
push edx
call fcn.00495e80
add esp, 0xc
inc esi
cmp esi, dword [esp + 0x78]
jl 0x4a0860
mov ecx, dword [ebp + 0x18]
lea eax, [ebp + 0x7e]
push eax
push 0x5e35b8
push ecx
call fcn.00495e80
mov edi, dword [esp + 0x84]
add esp, 0xc
xor esi, esi
test edi, edi
jle 0x4a0900
mov ebx, dword [esp + 0x78]
dec ebx
mov edx, dword [esp + 0x18]
mov eax, dword [edx + esi*4]
test eax, eax
jne 0x4a08d4
lea eax, [ebp + 0x3dc]
mov edi, dword [ebp + 0x18]
push eax
call fcn.0049f8c0
add esp, 4
cmp esi, ebx
jge 0x4a08f9
mov ecx, dword [ebp + 0x18]
lea eax, [ebp + 0x6a]
push eax
push 0x5e35b8
push ecx
call fcn.00495e80
add esp, 0xc
inc esi
cmp esi, dword [esp + 0x78]
jl 0x4a08c3
mov eax, dword [ebp + 0x18]
lea edx, [ebp + 0x7e]
push edx
push 0x5e35b8
push eax
call fcn.00495e80
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x5c]
xor ecx, esp
call fcn.00584447
add esp, 0x60
ret
mov esi, dword [ebp + 0x18]
push esi
call fcn.00586d99
add esp, 4
push 0x8000
push esi
call fcn.0058b806
add esp, 4
push eax
call fcn.0058b70f
mov eax, dword [ebp + 0x14]
add esp, 8
lea ecx, [eax + 1]
mov dword [ebp + 0x14], ecx
test eax, eax
jne 0x4a09b4
cmp dword [ebp + 0x38], eax
je 0x4a09b4
xor esi, esi
test edi, edi
jle 0x4a0998
mov ebx, edi
dec ebx
jmp 0x4a0970
mov edx, dword [esp + 0x14]
mov edi, dword [edx + esi*4]
test edi, edi
jne 0x4a0980
mov edi, 0x5d3001
xor eax, eax
cmp esi, ebx
setl al
push eax
push ebp
call fcn.0049fa70
inc esi
add esp, 8
cmp esi, dword [esp + 0x78]
jl 0x4a0970
mov edx, dword [ebp + 0x18]
lea ecx, [ebp + 0x7e]
push ecx
push 0x5e35b8
push edx
call fcn.00495e80
mov edi, dword [esp + 0x84]
add esp, 0xc
test edi, edi
jle 0x4a09f7
xor esi, esi
test edi, edi
jle 0x4a09e2
mov ebx, dword [esp + 0x78]
dec ebx
mov ecx, dword [esp + 0x18]
mov edi, dword [ecx + esi*4]
xor eax, eax
cmp esi, ebx
setl al
push eax
push ebp
call fcn.0049fa70
inc esi
add esp, 8
cmp esi, dword [esp + 0x78]
jl 0x4a09c3
mov eax, dword [ebp + 0x18]
lea edx, [ebp + 0x7e]
push edx
push 0x5e35b8
push eax
call fcn.00495e80
add esp, 0xc
mov ebp, dword [ebp + 0x18]
push ebp
call fcn.00586d99
add esp, 4
push 0x4000
push ebp
call fcn.0058b806
add esp, 4
push eax
call fcn.0058b70f
jmp 0x4a0f6c
mov ecx, dword [ebp + 0x44]
mov edx, dword [ebp + 0x18]
push ecx
push str.INSERT_INTO__s
push edx
call fcn.00495e80
add esp, 0xc
cmp dword [ebp + 0x38], 0
je 0x4a0ad5
mov eax, dword [ebp + 0x18]
push 0x5e53e0
push eax
call fcn.0058a18d
add esp, 8
xor ebx, ebx
test edi, edi
jle 0x4a0ab9
test ebx, ebx
jle 0x4a0a67
mov ecx, dword [ebp + 0x18]
push 0x5e53ac
push ecx
call fcn.0058a18d
add esp, 8
mov edx, esi
mov edi, dword [edx + ebx*4]
call fcn.004964a0
test al, al
mov eax, esi
mov ecx, dword [eax + ebx*4]
push ecx
je 0x4a0aa1
push str.__w_
call fcn.004d32a0
mov edx, dword [ebp + 0x18]
mov edi, eax
push edi
push 0x5e35b8
push edx
call fcn.00495e80
push edi
call fcn.004acb60
add esp, 0x18
jmp 0x4a0ab2
mov edx, dword [ebp + 0x18]
push 0x5e35b8
push edx
call fcn.0058a18d
add esp, 0xc
inc ebx
cmp ebx, dword [esp + 0x78]
jl 0x4a0a52
mov eax, dword [ebp + 0x18]
push 0x5e53a8
push eax
call fcn.0058a18d
mov edi, dword [esp + 0x80]
mov ebx, dword [esp + 0x20]
add esp, 8
inc dword [ebp + 0x14]
xor esi, esi
test edi, edi
jle 0x4a0ca1
mov eax, dword [esp + 0x7c]
sub eax, ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], eax
mov eax, 0x5e53ac
test esi, esi
jg 0x4a0afe
mov eax, str._VALUES_
mov ecx, dword [ebp + 0x18]
push eax
push ecx
call fcn.0058a18d
mov eax, dword [ebx]
add esp, 8
test eax, eax
je 0x4a0c7e
cmp dword [esp + 0x7c], 0
je 0x4a0c37
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + ebx]
cmp ecx, 5
je 0x4a0c7e
cmp ecx, 3
jne 0x4a0b5a
test byte [ebp + 0x40], 0x10
mov ecx, dword [ebp + 0x18]
je 0x4a0b4c
push ecx
call fcn.0049f5a0
add esp, 4
jmp 0x4a0c8f
push eax
call fcn.0049f690
add esp, 4
jmp 0x4a0c8f
cmp ecx, 1
jne 0x4a0b65
push eax
jmp 0x4a0c45
cmp ecx, 2
jne 0x4a0bfe
mov eax, dword [ebp + 0x500]
push esi
push eax
call fcn.004c5c90
fst qword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
add esp, 8
test eax, eax
jne 0x4a0bcc
cmp ecx, 0x7ff00000
jne 0x4a0bab
mov ecx, dword [ebp + 0x18]
fstp st(0)
push str.1e999
push ecx
call fcn.0058a18d
jmp 0x4a0c8c
test eax, eax
jne 0x4a0bcc
cmp ecx, 0xfff00000
jne 0x4a0bcc
mov edx, dword [ebp + 0x18]
fstp st(0)
push str._1e999
push edx
call fcn.0058a18d
jmp 0x4a0c8c
sub esp, 8
fstp qword [esp]
push str.__.20g
lea eax, [esp + 0x44]
push eax
push 0x32
call fcn.004ace70
mov edx, dword [ebp + 0x18]
lea ecx, [esp + 0x4c]
push ecx
push 0x5e35b8
push edx
call fcn.0058a18d
add esp, 0x20
jmp 0x4a0c8f
cmp ecx, 4
jne 0x4a0c37
mov ecx, dword [ebp + 0x500]
test ecx, ecx
je 0x4a0c37
push esi
push ecx
call fcn.004d5d00
mov edi, eax
mov eax, dword [ebp + 0x500]
push esi
push eax
call fcn.004cfef0
push edi
mov edi, dword [ebp + 0x18]
mov ebx, eax
call fcn.0049f4f0
mov ebx, dword [esp + 0x30]
add esp, 0x14
jmp 0x4a0c8f
xor edi, edi
call fcn.00495fc0
test eax, eax
je 0x4a0c58
mov ecx, dword [ebx]
push ecx
mov edx, dword [ebp + 0x18]
push 0x5e35b8
push edx
call fcn.00495e80
add esp, 0xc
jmp 0x4a0c8f
test byte [ebp + 0x40], 0x10
je 0x4a0c6e
mov eax, dword [ebp + 0x18]
push eax
mov eax, dword [ebx]
call fcn.0049f5a0
add esp, 4
jmp 0x4a0c8f
mov ecx, dword [ebx]
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.0049f690
add esp, 4
jmp 0x4a0c8f
mov edx, dword [ebp + 0x18]
push str.NULL
push edx
call fcn.00495e80
add esp, 8
inc esi
add ebx, 4
cmp esi, dword [esp + 0x78]
mov dword [esp + 0x1c], ebx
jl 0x4a0af0
mov eax, dword [ebp + 0x18]
push 0x5e5fe8
push eax
call fcn.0058a18d
jmp 0x4a0f6c
cmp dword [ebp + 0x14], ecx
jne 0x4a0cfe
cmp dword [ebp + 0x38], ecx
je 0x4a0cfe
xor ebx, ebx
test edi, edi
jle 0x4a0ced
test ebx, ebx
jle 0x4a0cd9
mov ecx, dword [ebp + 0x18]
push 0x5e53ac
push ecx
call fcn.0058a18d
add esp, 8
mov edx, dword [ebp + 0x18]
mov eax, dword [esi + ebx*4]
push edx
call fcn.0049f5a0
inc ebx
add esp, 4
cmp ebx, edi
jl 0x4a0cc4
mov eax, dword [ebp + 0x18]
push 0x5e3458
push eax
call fcn.0058a18d
add esp, 8
inc dword [ebp + 0x14]
xor esi, esi
test edi, edi
jle 0x4a0e5a
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x7c]
sub ecx, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], ecx
mov ebx, eax
nop
test esi, esi
jle 0x4a0d35
mov ecx, dword [ebp + 0x18]
push 0x5e53ac
push ecx
call fcn.0058a18d
add esp, 8
mov eax, dword [ebx]
test eax, eax
je 0x4a0e37
cmp dword [esp + 0x7c], 0
je 0x4a0e06
mov edx, dword [esp + 0x24]
mov ecx, dword [ebx + edx]
cmp ecx, 5
je 0x4a0e37
cmp ecx, 3
jne 0x4a0d70
mov ecx, dword [ebp + 0x18]
push ecx
call fcn.0049f5a0
add esp, 4
jmp 0x4a0e48
cmp ecx, 1
jne 0x4a0d8c
mov edx, dword [ebp + 0x18]
push eax
push 0x5e35b8
push edx
call fcn.00495e80
add esp, 0xc
jmp 0x4a0e48
cmp ecx, 2
jne 0x4a0dcd
mov eax, dword [ebp + 0x500]
push esi
push eax
call fcn.004c5c90
fstp qword [esp]
push str.__.20g
lea ecx, [esp + 0x44]
push ecx
push 0x32
call fcn.004ace70
mov eax, dword [ebp + 0x18]
lea edx, [esp + 0x4c]
push edx
push 0x5e35b8
push eax
call fcn.0058a18d
add esp, 0x20
jmp 0x4a0e48
cmp ecx, 4
jne 0x4a0e06
mov ecx, dword [ebp + 0x500]
test ecx, ecx
je 0x4a0e06
push esi
push ecx
call fcn.004d5d00
mov ecx, dword [ebp + 0x500]
push esi
push ecx
mov edi, eax
call fcn.004cfef0
push edi
mov edi, dword [ebp + 0x18]
mov ebx, eax
call fcn.0049f4f0
mov ebx, dword [esp + 0x30]
add esp, 0x14
jmp 0x4a0e48
xor edi, edi
call fcn.00495fc0
test eax, eax
je 0x4a0e27
mov edx, dword [ebx]
mov eax, dword [ebp + 0x18]
push edx
push 0x5e35b8
push eax
call fcn.00495e80
add esp, 0xc
jmp 0x4a0e48
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebx]
push ecx
call fcn.0049f5a0
add esp, 4
jmp 0x4a0e48
mov edx, dword [ebp + 0x18]
push str.NULL
push edx
call fcn.00495e80
add esp, 8
inc esi
add ebx, 4
cmp esi, dword [esp + 0x78]
mov dword [esp + 0x1c], ebx
jl 0x4a0d20
mov eax, dword [ebp + 0x18]
push 0x5e3458
push eax
call fcn.0058a18d
jmp 0x4a0f6c
mov eax, dword [ebp + 0x14]
lea edx, [eax + 1]
mov dword [ebp + 0x14], edx
cmp eax, ecx
jne 0x4a0eda
cmp dword [ebp + 0x38], ecx
je 0x4a0eda
xor esi, esi
test edi, edi
jle 0x4a0ec5
test esi, esi
jle 0x4a0e9e
mov ecx, dword [ebp + 0x18]
lea eax, [ebp + 0x6a]
push eax
push 0x5e35b8
push ecx
call fcn.00495e80
add esp, 0xc
mov edx, dword [esp + 0x14]
mov eax, dword [edx + esi*4]
test eax, eax
jne 0x4a0eae
mov eax, 0x5d3001
push eax
mov eax, dword [ebp + 0x18]
push 0x5e35b8
push eax
call fcn.00495e80
inc esi
add esp, 0xc
cmp esi, edi
jl 0x4a0e85
mov edx, dword [ebp + 0x18]
lea ecx, [ebp + 0x7e]
push ecx
push 0x5e35b8
push edx
call fcn.00495e80
add esp, 0xc
xor esi, esi
test edi, edi
jle 0x4a0f1d
test esi, esi
jle 0x4a0ef9
mov ecx, dword [ebp + 0x18]
lea eax, [ebp + 0x6a]
push eax
push 0x5e35b8
push ecx
call fcn.00495e80
add esp, 0xc
mov eax, dword [ebx + esi*4]
test eax, eax
jne 0x4a0f06
lea eax, [ebp + 0x3dc]
mov edx, dword [ebp + 0x18]
push eax
push 0x5e35b8
push edx
call fcn.00495e80
inc esi
add esp, 0xc
cmp esi, edi
jl 0x4a0ee0
mov ecx, dword [ebp + 0x18]
lea eax, [ebp + 0x7e]
push eax
push 0x5e35b8
push ecx
call fcn.00495e80
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x5c]
xor ecx, esp
call fcn.00584447
add esp, 0x60
ret
mov esi, ebx
mov edx, dword [esi + 4]
push edx
call fcn.0058a456
add esp, 4
push eax
mov eax, dword [esi]
push eax
call fcn.0058a456
mov edi, dword [esi + 0xc]
add esp, 4
push eax
mov ebx, ebp
call fcn.0049fda0
add esp, 8
mov ecx, dword [esp + 0x6c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
xor eax, eax
call fcn.00584447
add esp, 0x60
ret