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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x452c
call fcn.00623d50
mov eax, dword [0x96c07c]
xor eax, esp
mov dword [esp + 0x4528], eax
push ebx
push esi
xor eax, eax
mov dword [esp + 0x24], 0
push edi
mov edi, ecx
mov dword [esp + 0x2c], 1
mov ecx, dword [ebp + 0xc]
mov ebx, edx
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x18], 0
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x118], eax
test ecx, ecx
je 0x482f16
test edx, edx
je 0x482f16
mov dword [ecx], 0x64
mov dword [edx], eax
test edi, edi
jne 0x482f2d
mov dword [ecx], 0x74
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4528]
xor ecx, esp
call fcn.00623060
mov esp, ebp
pop ebp
ret
cmp ebx, 0xffffffff
jne 0x482f51
xor ebx, ebx
mov eax, edi
mov dword [esp + 0x10], ebx
cmp word [edi], bx
je 0x482f4e
nop
lea eax, [eax + 2]
inc ebx
cmp word [eax], 0
jne 0x482f40
mov dword [esp + 0x10], ebx
cmp ebx, 0xffffffff
jbe 0x482f70
mov dword [ecx], 0xbc
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4528]
xor ecx, esp
call fcn.00623060
mov esp, ebp
pop ebp
ret
xor eax, eax
mov dword [esp + 0x5c], 0x7de9b8
mov dword [esp + 0xb4], eax
xor edx, edx
mov dword [esp + 0xcc], eax
mov dword [esp + 0x114], eax
lea eax, [edi + ebx*2]
mov dword [esp + 0x78], eax
lea eax, [esp + 0x250]
mov dword [esp + 0xdc], eax
xor eax, eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x160]
mov dword [esp + 0xbc], eax
lea eax, [esp + 0x650]
mov dword [esp + 0xd4], eax
lea eax, [esp + 0x1650]
mov dword [esp + 0x60], 0x7deab8
mov dword [esp + 0x64], 0x7debb8
mov dword [esp + 0x68], 0x7decf8
mov dword [esp + 0x58], 0x7ddc40
mov dword [esp + 0xac], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0x110], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0xc0], 0x14
mov dword [esp + 0xb8], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x80], 0xbb8
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0x84], 0xffffffff
mov dword [esp + 0x88], 0xffffffff
mov dword [esp + 0x8c], 0xffffffff
mov dword [esp + 0x90], 0xffffffff
mov dword [esp + 0x94], 0xffffffff
mov dword [esp + 0x98], 0xffffffff
mov dword [esp + 0x9c], 0xffffffff
mov dword [esp + 0xa0], 0xffffffff
mov dword [esp + 0xa4], 0xffffffff
mov dword [esp + 0xa8], 0xffffffff
mov dword [esp + 0x14], edx
cmp ebx, 2
jb 0x4831ce
lea ecx, [edx + edx]
cmp word [ecx + edi], 0x28
mov dword [esp + 0x11c], ecx
jne 0x4831ce
cmp word [ecx + edi + 2], 0x2a
jne 0x4831ce
sub ebx, edx
xor eax, eax
mov dword [esp + 0x34], eax
lea edx, [ebx - 2]
mov ebx, 0x976b38
mov dword [esp + 0x30], edx
movzx esi, word [ebx + 4]
cmp edx, esi
jb 0x4831b1
mov edx, dword [ebx]
lea eax, [edi + 4]
add eax, ecx
test esi, esi
je 0x48316f
nop dword [eax]
movsx cx, byte [edx]
lea eax, [eax + 2]
movzx edi, word [eax - 2]
lea edx, [edx + 1]
movzx ecx, cx
cmp cx, di
jne 0x483194
sub esi, 1
jne 0x483150
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
movzx eax, word [ebx + 4]
add edx, 2
add edx, eax
movzx eax, word [ebx + 6]
mov dword [esp + 0x14], edx
cmp eax, 6
ja case.default.0x48318d
jmp dword [eax*4 + 0x483d7c]
mov edi, dword [esp + 0x1c]
sbb eax, eax
and eax, 2
add eax, 0xffffffff
je 0x48316f
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0x30]
add eax, 0xc
add ebx, 0xc
mov dword [esp + 0x34], eax
cmp eax, 0xfc
jb 0x483136
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc4]
lea esi, [edi + edx*2]
mov eax, ecx
shr eax, 0x13
and eax, 1
mov dword [esp + 0x38], eax
je 0x483212
push dword [esp + 0x50]
mov edx, ebx
mov ecx, edi
call fcn.00483f90
mov ecx, eax
add esp, 4
mov dword [esp + 0x118], ecx
test ecx, ecx
jne 0x483cfa
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0xc4]
mov eax, ecx
shr eax, 0x11
and eax, 1
mov dword [esp + 0x3c], eax
je 0x48337e
test ecx, 0x800
je 0x48337e
mov eax, dword [esp + 0x50]
sub esi, edi
sar esi, 1
mov ecx, 0xaf
xor ebx, ebx
mov dword [esp + 0x118], ecx
mov dword [eax], esi
mov eax, dword [esp + 0x54]
mov dword [eax], ecx
mov ecx, ebx
call fcn.00479990
jmp 0x483d0f
mov esi, dword [esp + 0xc4]
or esi, dword [ebx + 8]
mov dword [esp + 0xc4], esi
jmp case.default.0x48318d
mov esi, dword [esp + 0x18]
or esi, dword [ebx + 8]
mov dword [esp + 0x18], esi
jmp case.default.0x48318d
mov eax, dword [ebx + 8]
or dword [esp + 0x18], 0x8000
mov dword [esp + 0x24], eax
jmp case.default.0x48318d
mov eax, dword [ebx + 8]
or dword [esp + 0x18], 0x4000
mov dword [esp + 0x20], eax
jmp case.default.0x48318d
movzx eax, word [edi + edx*2]
lea esi, [edi + edx*2]
xor ecx, ecx
cmp eax, 0x30
jb 0x483354
cmp eax, 0x39
ja 0x483354
cmp ax, 0x39
ja 0x4832e4
cmp ecx, 0x19999998
ja 0x4832e4
movzx eax, ax
lea ecx, [ecx + ecx*4]
inc edx
lea ecx, [ecx - 0x18]
lea ecx, [eax + ecx*2]
movzx eax, word [edi + edx*2]
cmp eax, 0x30
jae 0x4832c0
lea eax, [edx + edx]
inc edx
cmp word [edi + eax], 0x29
jne 0x483327
movzx eax, word [ebx + 6]
cmp eax, 4
jne 0x4832fe
mov dword [esp + 0x44], ecx
jmp 0x48330d
cmp eax, 5
jne 0x483309
mov dword [esp + 0x48], ecx
jmp 0x48330d
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x10]
mov eax, ebx
sub eax, edx
cmp eax, 2
jae 0x483101
jmp 0x4831ce
mov eax, dword [esp + 0x50]
lea esi, [edi + edx*2]
sub esi, edi
mov ecx, 0xa0
sar esi, 1
xor ebx, ebx
mov dword [esp + 0x118], ecx
mov dword [eax], esi
mov eax, dword [esp + 0x54]
mov dword [eax], ecx
mov ecx, ebx
call fcn.00479990
jmp 0x483d0f
mov eax, dword [esp + 0x50]
sub esi, edi
sar esi, 1
mov ecx, 0xa0
xor ebx, ebx
mov dword [esp + 0x118], ecx
mov dword [eax], esi
mov eax, dword [esp + 0x54]
mov dword [eax], ecx
mov ecx, ebx
call fcn.00479990
jmp 0x483d0f
mov eax, dword [esp + 0x20]
test eax, eax
mov dword [esp + 0x11c], 1
cmove eax, dword [esp + 0x11c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
test eax, eax
mov dword [esp + 0x11c], 2
cmove eax, dword [esp + 0x11c]
mov dword [esp + 0x24], eax
dec eax
mov dword [esp + 0xe8], 0
cmp eax, 5
ja case.default.0x4833cd
jmp dword [eax*4 + 0x483d98]
mov eax, 0xd
mov dword [esp + 0xec], 1
mov word [esp + 0xf8], ax
jmp 0x48344f
mov eax, 0xa
mov dword [esp + 0xec], 1
mov word [esp + 0xf8], ax
jmp 0x48344f
xor eax, eax
mov dword [esp + 0xec], 1
mov word [esp + 0xf8], ax
jmp 0x48344f
mov dword [esp + 0xec], 2
mov dword [esp + 0xf8], 0xa000d
jmp 0x48344f
mov dword [esp + 0xe8], 1
jmp 0x48344f
mov dword [esp + 0xe8], 2
sub ebx, edx
cmp ebx, 0x400
jb 0x483490
lea eax, [ebx*4 + 4]
push 0
push eax
call fcn.00483f30
add esp, 8
test eax, eax
jne 0x483480
mov eax, dword [esp + 0x54]
xor ebx, ebx
mov dword [eax], 0x79
jmp 0x483d0f
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0xd4], eax
jmp 0x483497
lea eax, [esp + 0x650]
lea eax, [eax + ebx*4]
mov edx, ecx
add eax, 4
mov ecx, esi
mov dword [esp + 0xd8], eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.0047abc0
mov ecx, eax
add esp, 8
mov dword [esp + 0x118], ecx
test ecx, ecx
jne 0x483506
mov eax, dword [esp + 0xcc]
cmp eax, 0x100
jb 0x483537
push ecx
lea eax, [eax*4 + 4]
push eax
call fcn.00483f30
mov ecx, eax
add esp, 8
mov dword [esp + 0xdc], ecx
test ecx, ecx
jne 0x48352e
mov ecx, 0x79
mov dword [esp + 0xac], eax
mov dword [esp + 0x118], ecx
mov eax, dword [esp + 0xac]
xor ebx, ebx
lea esi, [edi + eax*2]
mov eax, dword [esp + 0x50]
sub esi, edi
sar esi, 1
mov dword [eax], esi
mov eax, dword [esp + 0x54]
mov dword [eax], ecx
mov ecx, ebx
call fcn.00479990
jmp 0x483d0f
mov eax, dword [esp + 0xcc]
jmp 0x48353e
mov ecx, dword [esp + 0xdc]
lea eax, [eax*4 + 4]
push eax
push 0
push ecx
call fcn.006287f0
add esp, 0xc
cmp dword [esp + 0x28], 0
je 0x483594
mov ecx, dword [esp + 0xd4]
lea eax, [esp + 0x11c]
push eax
lea eax, [esp + 0x5c]
mov dword [esp + 0x120], 0
push eax
push 0
xor edx, edx
call fcn.00482ab0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x118], ecx
test ecx, ecx
jne 0x483506
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x28]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x1650]
mov dword [esp + 0x28], eax
mov eax, 0x86
mov word [esp + 0x1650], ax
lea eax, [esp + 0x2c]
push eax
mov ecx, dword [esp + 0xc8]
lea eax, [esp + 0x5c]
push eax
push 0
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x134]
push eax
push 0
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.00481380
mov ecx, dword [esp + 0x140]
add esp, 0x28
test ecx, ecx
jne 0x483506
mov edx, dword [esp + 0x2c]
cmp edx, 0x10000
jbe 0x483656
mov eax, dword [esp + 0xac]
mov ecx, 0x78
xor ebx, ebx
mov dword [esp + 0x118], ecx
lea esi, [edi + eax*2]
mov eax, dword [esp + 0x50]
sub esi, edi
sar esi, 1
mov dword [eax], esi
mov eax, dword [esp + 0x54]
mov dword [eax], ecx
mov ecx, ebx
call fcn.00479990
jmp 0x483d0f
movzx ecx, word [esp + 0xb0]
movzx eax, word [esp + 0xb2]
imul ecx, eax
push 0
add ecx, edx
lea esi, [ecx*2 + 0x70]
push esi
call fcn.00483f30
mov edx, eax
add esp, 8
mov dword [esp + 0x10], edx
test edx, edx
jne 0x4836bf
mov ecx, 0x79
mov dword [esp + 0x118], ecx
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0xac]
lea esi, [edi + eax*2]
mov eax, dword [esp + 0x50]
sub esi, edi
sar esi, 1
mov dword [eax], esi
mov eax, dword [esp + 0x54]
mov dword [eax], ecx
mov ecx, ebx
call fcn.00479990
xor ebx, ebx
jmp 0x483d0f
xorps xmm0, xmm0
movq qword [edx + 0x68], xmm0
movq xmm0, qword [0x7ddc40]
movq qword [edx], xmm0
xorps xmm0, xmm0
mov eax, dword [0x7ddc48]
mov dword [edx + 8], eax
mov dword [edx + 0xc], 0x7de9b8
mov dword [edx + 0x10], 0
movups xmmword [edx + 0x14], xmm0
movups xmmword [edx + 0x24], xmm0
mov dword [edx + 0x34], esi
mov esi, dword [esp + 0x10]
mov dword [edx + 0x38], 0x50435245
mov dword [edx + 0x3c], 0
mov eax, dword [esp + 0xc4]
mov dword [edx + 0x40], eax
mov dword [edx + 0x44], 0
mov eax, dword [esp + 0xc8]
or eax, dword [esp + 0x18]
or eax, 2
mov dword [edx + 0x58], 0
mov dword [edx + 0x48], eax
mov eax, dword [esp + 0x44]
mov dword [edx + 0x4c], eax
mov eax, dword [esp + 0x48]
mov dword [edx + 0x50], eax
mov eax, dword [esp + 0x4c]
mov dword [edx + 0x54], eax
mov eax, dword [esp + 0x20]
mov word [edx + 0x60], ax
mov eax, dword [esp + 0x24]
mov word [edx + 0x62], ax
xor eax, eax
mov dword [edx + 0x64], eax
mov dword [edx + 0x68], eax
mov dword [edx + 0x5c], 0
mov ax, word [esp + 0xb2]
mov word [esi + 0x6c], ax
movzx edx, ax
mov ax, word [esp + 0xb0]
mov word [esi + 0x6e], ax
movzx ebx, ax
xor eax, eax
imul ebx, edx
mov dword [esp + 0xb4], eax
mov dword [esp + 0xd0], eax
lea eax, [esi + 0x70]
mov dword [esp + 0x7c], eax
mov ax, word [esp + 0xb0]
add ebx, 0x38
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0xb8], 0
lea ebx, [esi + ebx*2]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x70], ebx
test ax, ax
je 0x48382f
xor ecx, ecx
xor edi, edi
cmp cx, ax
jae 0x48382b
mov esi, dword [esp + 0xbc]
add esi, 8
nop dword [eax + eax]
movzx eax, word [esi]
lea ecx, [esp + 0x58]
mov edx, dword [esi - 8]
push edi
push dword [esi - 4]
push eax
call fcn.00481e00
movzx eax, word [esp + 0xbc]
lea esi, [esi + 0xc]
inc edi
add esp, 0xc
cmp edi, eax
jb 0x483800
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0xd4]
lea edx, [esp + 0x28]
mov dword [esp + 0x34], eax
mov eax, 0x86
mov word [ebx], ax
lea eax, [esp + 0x58]
mov ecx, dword [esi + 0x40]
push 0
push eax
push 0
lea eax, [esp + 0x4c]
mov dword [esp + 0x34], ebx
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x134]
push eax
push 0
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.00481380
mov edx, dword [esp + 0x38]
add esp, 0x28
test eax, eax
jns 0x483893
or dword [edx + 0x48], 0x2000
movzx eax, word [esp + 0xcc]
mov word [edx + 0x68], ax
movzx eax, word [esp + 0xe0]
mov word [edx + 0x6a], ax
movzx eax, word [esp + 0x100]
mov word [edx + 0x64], ax
cmp dword [esp + 0x108], 0
je 0x4838d4
xor eax, eax
mov dword [esp + 0x24], 0xffffffff
or dword [edx + 0x48], 0x800000
jmp 0x4838e0
mov eax, dword [esp + 0x40]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], eax
xor ecx, ecx
mov eax, dword [esp + 0x28]
mov word [eax], cx
add eax, 2
mov ecx, dword [esp + 0x2c]
sub eax, ebx
sar eax, 1
cmp eax, ecx
jbe 0x483906
mov ecx, 0x7b
jmp 0x48368c
sub eax, ecx
add eax, eax
add dword [edx + 0x34], eax
mov ecx, dword [esp + 0x118]
test ecx, ecx
jne 0x483693
cmp dword [esp + 0x110], ecx
je 0x483a0a
mov edx, dword [esp + 0x38]
lea ebx, [ecx + 8]
mov ecx, dword [esp + 0x18]
xor edi, edi
call fcn.00481af0
mov dword [esp + 0x30], eax
test eax, eax
je 0x483a02
movzx esi, word [eax + 2]
test esi, esi
jne 0x483955
mov eax, dword [esp + 0x18]
jmp 0x4839d1
mov ecx, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x2c], ecx
mov eax, ebx
test edi, edi
je 0x48399d
mov ecx, dword [esp + eax*8 + 0x124]
cmp esi, ecx
je 0x48398e
jle 0x48397f
mov ecx, dword [esp + eax*8 + 0x120]
mov dword [esp + 0x2c], ecx
jmp 0x483983
mov ecx, dword [esp + 0x2c]
inc eax
inc edx
and eax, 7
cmp edx, edi
jb 0x483965
jmp 0x48399d
mov eax, dword [esp + eax*8 + 0x120]
test eax, eax
jne 0x4839d1
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
push esi
call fcn.00484f10
add esp, 4
test eax, eax
je 0x483a30
sub ebx, 1
mov ecx, 7
cmovs ebx, ecx
mov dword [esp + ebx*8 + 0x124], esi
mov dword [esp + ebx*8 + 0x120], eax
cmp edi, 8
jae 0x4839d1
inc edi
mov ecx, dword [esp + 0x30]
sub eax, dword [esp + 0x18]
mov edx, dword [esp + 0x38]
sar eax, 1
mov word [ecx + 2], ax
add ecx, 4
call fcn.00481af0
mov dword [esp + 0x30], eax
test eax, eax
jne 0x483947
mov ecx, dword [esp + 0x118]
test ecx, ecx
jne 0x483a3c
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
test dword [edx + 0x40], 0x4000
jne 0x483a54
lea edx, [esp + 0x58]
mov ecx, ebx
call fcn.00486310
test eax, eax
je 0x483a45
mov edi, dword [esp + 0x1c]
mov ecx, 0xb4
jmp 0x48368c
mov ecx, 0x99
mov dword [esp + 0x118], ecx
mov edi, dword [esp + 0x1c]
jmp 0x483693
mov ecx, dword [esp + 0x118]
test ecx, ecx
jne 0x483a3c
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 0x40]
test esi, esi
js 0x483a81
push 0
lea eax, [esp + 0x5c]
xor edx, edx
push 0
push eax
mov ecx, ebx
call fcn.004817b0
mov edx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
je 0x483a81
or esi, 0x80000000
mov dword [edx + 0x40], esi
test dword [edx + 0x40], 0x10000
jne 0x483d0b
mov eax, dword [esp + 0x14]
xor edi, edi
test eax, eax
jns 0x483aed
push edi
lea edx, [esp + 0x18]
mov ecx, ebx
call fcn.00481c20
mov edx, dword [esp + 0x14]
mov esi, eax
mov eax, dword [esp + 0x18]
add esp, 4
test eax, eax
jns 0x483af4
cmp dword [edx + 0x40], edi
jl 0x483b91
push edi
lea eax, [esp + 0x5c]
xor edx, edx
push edi
push eax
mov ecx, ebx
call fcn.00481920
mov edx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x14]
je 0x483b91
or dword [edx + 0x48], 0x200
jmp 0x483b91
mov esi, dword [esp + 0x11c]
or dword [edx + 0x48], 0x10
mov edi, 1
mov ebx, dword [edx + 0x48]
mov dword [edx + 0x58], esi
test al, 1
je 0x483b91
cmp esi, 0x80
jb 0x483b7b
mov ecx, dword [esp + 0x38]
test ecx, ecx
jne 0x483b33
cmp dword [esp + 0x3c], ecx
jne 0x483b29
cmp esi, 0xff
jb 0x483b7b
test ecx, ecx
jne 0x483b33
cmp dword [esp + 0x3c], ecx
je 0x483b91
cmp esi, 0x10ffff
ja 0x483b91
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x7d95e0]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x483b5f
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x10]
add ecx, eax
movzx eax, word [ecx*2 + 0x7c76e0]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x7c4804]
add eax, esi
jmp 0x483b83
mov eax, dword [esp + 0x60]
movzx eax, byte [esi + eax]
cmp eax, esi
mov eax, dword [esp + 0x14]
je 0x483b91
or ebx, 0x20
mov dword [edx + 0x48], ebx
cmp dword [esp + 0x24], 0
jl 0x483c89
mov ecx, dword [edx + 0x40]
mov ebx, dword [esp + 0x20]
test ecx, 0x80000
je 0x483bcb
test eax, eax
js 0x483bcb
and esi, 0xf800
cmp esi, 0xd800
jne 0x483bcb
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xdc00
je 0x483bcc
inc edi
mov eax, dword [esp + 0x24]
test ecx, ecx
jns 0x483bdc
test al, 2
je 0x483c89
or dword [edx + 0x48], 0x80
mov esi, dword [edx + 0x48]
mov dword [edx + 0x5c], ebx
test al, 1
je 0x483c89
cmp ebx, 0x80
jb 0x483c6e
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
test eax, eax
jne 0x483c19
test ecx, ecx
jne 0x483c11
cmp ebx, 0xff
jb 0x483c6e
test eax, eax
jne 0x483c19
test ecx, ecx
je 0x483c89
cmp ebx, 0x10ffff
ja 0x483c89
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x7d95e0]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x483c45
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x7c76e0]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x7c4804]
add eax, ebx
cmp eax, ebx
mov ebx, dword [esp + 0x10]
je 0x483c8d
or esi, 0x100
mov dword [ebx + 0x48], esi
jmp 0x483c8d
mov eax, dword [esp + 0x60]
movzx eax, byte [ebx + eax]
cmp eax, ebx
mov ebx, dword [esp + 0x10]
je 0x483c8d
or esi, 0x100
mov dword [edx + 0x48], esi
jmp 0x483c8d
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.004877f0
test eax, eax
je 0x483cad
mov edi, dword [esp + 0x1c]
mov ecx, 0x83
mov dword [esp + 0x118], ecx
jmp 0x483697
mov edx, dword [esp + 0x10]
test byte [edx + 0x48], 0x40
je 0x483cc1
test edi, edi
mov eax, 1
cmove edi, eax
movzx eax, word [edx + 0x66]
mov ebx, dword [esp + 0x10]
cmp eax, edi
jge 0x483d0f
mov word [edx + 0x66], di
jmp 0x483d0f
mov ecx, 0x9c
xor ebx, ebx
mov dword [esp + 0x118], ecx
mov eax, dword [esp + 0x50]
sub esi, edi
sar esi, 1
mov dword [eax], esi
mov eax, dword [esp + 0x54]
mov dword [eax], ecx
mov ecx, ebx
call fcn.00479990
jmp 0x483d0f
xor ebx, ebx
mov eax, dword [esp + 0x54]
mov dword [eax], ecx
mov ecx, ebx
call fcn.00479990
jmp 0x483d0f
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0xd4]
lea ecx, [esp + 0x650]
cmp eax, ecx
je 0x483d2c
push 0
push eax
call fcn.00483f40
add esp, 8
cmp dword [esp + 0xc0], 0x14
jbe 0x483d47
push 0
push dword [esp + 0xc0]
call fcn.00483f40
add esp, 8
mov eax, dword [esp + 0xdc]
lea ecx, [esp + 0x250]
cmp eax, ecx
je 0x483d64
push 0
push eax
call fcn.00483f40
add esp, 8
mov ecx, dword [esp + 0x4534]
mov eax, ebx
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00623060
mov esp, ebp
pop ebp
ret